/****************************************************************************
 *
 *   Copyright (c) 2020-2021 PX4 Development Team. All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 *
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in
 *    the documentation and/or other materials provided with the
 *    distribution.
 * 3. Neither the name PX4 nor the names of its contributors may be
 *    used to endorse or promote products derived from this software
 *    without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
 * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
 * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
 * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 * POSSIBILITY OF SUCH DAMAGE.
 *
 ****************************************************************************/

#include <gtest/gtest.h>
#include <math.h>
#include <mathlib/mathlib.h>

#include "geo_mag_declination.h"


TEST(GeoLookupTest, declination)
{
	EXPECT_NEAR(get_mag_declination_degrees(-50, -180), 31.36525, 0.40064 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -175), 31.56285, 0.3937 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -170), 31.58182, 0.38792 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -165), 31.47081, 0.3831 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -160), 31.27262, 0.37907 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -155), 31.02711, 0.37571 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -150), 30.77228, 0.37289 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -145), 30.54194, 0.37052 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -140), 30.36059, 0.36852 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -135), 30.23695, 0.36682 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -130), 30.15847, 0.36537 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -125), 30.08873, 0.36415 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -120), 29.9682, 0.36318 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -115), 29.71861, 0.3625 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -110), 29.24995, 0.36221 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -105), 28.4695, 0.36242 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -100), 27.29205, 0.36328 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -95), 25.65026, 0.36496 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -90), 23.50438, 0.36759 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -85), 20.85044, 0.37131 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -80), 17.7264, 0.3762 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -75), 14.21494, 0.38232 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -70), 10.44118, 0.38966 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -65), 6.56312, 0.39821 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -60), 2.75429, 0.40798 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -55), -0.81926, 0.41896 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -50), -4.02243, 0.43115 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -45), -6.76947, 0.44451 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -40), -9.0333, 0.45885 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -35), -10.8453, 0.47385 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -30), -12.28744, 0.48893 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -25), -13.48033, 0.50329 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -20), -14.57059, 0.51593 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -15), -15.71857, 0.52572 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -10), -17.08425, 0.53159 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -5), -18.80806, 0.53273 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 0), -20.98697, 0.52882 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 5), -23.65301, 0.52016 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 10), -26.76453, 0.50761 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 15), -30.21658, 0.49245 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 20), -33.8665, 0.47612 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 25), -37.5637, 0.45996 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 30), -41.17253, 0.44506 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 35), -44.5832, 0.43214 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 40), -47.71214, 0.42166 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 45), -50.49662, 0.41382 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 50), -52.88777, 0.40869 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 55), -54.8445, 0.40627 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 60), -56.32882, 0.40654 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 65), -57.3015, 0.40952 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 70), -57.71705, 0.41534 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 75), -57.51712, 0.42418 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 80), -56.6229, 0.43636 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 85), -54.92875, 0.45221 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 90), -52.30164, 0.47198 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 95), -48.59321, 0.49552 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 100), -43.67326, 0.52181 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 105), -37.4911, 0.54849 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 110), -30.15595, 0.57175 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 115), -21.9945, 0.58713 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 120), -13.52071, 0.59147 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 125), -5.29901, 0.58444 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 130), 2.21908, 0.56848 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 135), 8.77851, 0.54725 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 140), 14.30365, 0.52407 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 145), 18.834, 0.50126 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 150), 22.46421, 0.48012 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 155), 25.30657, 0.46127 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 160), 27.47309, 0.44486 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 165), 29.06921, 0.43081 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 170), 30.19233, 0.41893 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 175), 30.93126, 0.40896 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 180), 31.36525, 0.40064 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -180), 26.42565, 0.37416 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -175), 26.73215, 0.37027 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -170), 26.86855, 0.36703 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -165), 26.87445, 0.36435 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -160), 26.78313, 0.36213 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -155), 26.6263, 0.36033 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -150), 26.4378, 0.35889 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -145), 26.25342, 0.3578 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -140), 26.10621, 0.35701 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -135), 26.01906, 0.35651 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -130), 25.99718, 0.35628 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -125), 26.02239, 0.35633 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -120), 26.04987, 0.35664 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -115), 26.00761, 0.35725 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -110), 25.79902, 0.3582 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -105), 25.31006, 0.35959 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -100), 24.42149, 0.36156 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -95), 23.02496, 0.36429 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -90), 21.0405, 0.36797 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -85), 18.43268, 0.37279 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -80), 15.22343, 0.37887 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -75), 11.50008, 0.38623 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -70), 7.41515, 0.39485 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -65), 3.17392, 0.40469 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -60), -0.99232, 0.41573 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -55), -4.8629, 0.42804 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -50), -8.26374, 0.44175 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -45), -11.09168, 0.45698 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -40), -13.32136, 0.47379 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -35), -14.99572, 0.49203 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -30), -16.20662, 0.51132 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -25), -17.07455, 0.53093 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -20), -17.7365, 0.54974 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -15), -18.34539, 0.56615 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -10), -19.07444, 0.57824 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -5), -20.11026, 0.5841 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 0), -21.62205, 0.58242 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 5), -23.71267, 0.57296 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 10), -26.37878, 0.55673 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 15), -29.50734, 0.53573 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 20), -32.9119, 0.51241 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 25), -36.38606, 0.48909 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 30), -39.74627, 0.4676 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 35), -42.85049, 0.44907 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 40), -45.59651, 0.43408 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 45), -47.91055, 0.42278 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 50), -49.73544, 0.41504 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 55), -51.02234, 0.41064 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 60), -51.72615, 0.40932 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 65), -51.8026, 0.41081 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 70), -51.20511, 0.41487 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 75), -49.88089, 0.42127 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 80), -47.76923, 0.42973 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 85), -44.80821, 0.43984 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 90), -40.95667, 0.45085 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 95), -36.23232, 0.4616 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 100), -30.75258, 0.4706 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 105), -24.74874, 0.4764 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 110), -18.52793, 0.47815 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 115), -12.39383, 0.47589 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 120), -6.575, 0.47039 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 125), -1.20131, 0.46265 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 130), 3.6744, 0.45359 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 135), 8.04043, 0.44386 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 140), 11.89985, 0.43393 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 145), 15.25958, 0.42413 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 150), 18.12891, 0.41472 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 155), 20.52167, 0.4059 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 160), 22.45892, 0.39783 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 165), 23.97153, 0.39059 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 170), 25.10149, 0.38425 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 175), 25.90057, 0.37879 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 180), 26.42565, 0.37416 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -180), 22.61204, 0.35473 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -175), 22.95572, 0.35269 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -170), 23.14802, 0.35103 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -165), 23.22237, 0.34972 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -160), 23.20192, 0.34869 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -155), 23.10608, 0.34792 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -150), 22.9576, 0.3474 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -145), 22.78572, 0.34713 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -140), 22.62346, 0.34713 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -135), 22.50094, 0.34741 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -130), 22.43771, 0.34799 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -125), 22.43583, 0.3489 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -120), 22.47316, 0.35013 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -115), 22.49675, 0.35169 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -110), 22.41775, 0.35359 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -105), 22.11255, 0.35589 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -100), 21.43405, 0.3587 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -95), 20.23329, 0.36221 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -90), 18.38665, 0.36666 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -85), 15.82252, 0.37225 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -80), 12.54325, 0.3791 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -75), 8.6397, 0.38723 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -70), 4.29362, 0.39654 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -65), -0.23941, 0.40689 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -60), -4.67004, 0.41826 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -55), -8.72967, 0.43078 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -50), -12.22032, 0.44473 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -45), -15.04237, 0.46043 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -40), -17.19375, 0.47812 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -35), -18.74554, 0.49791 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -30), -19.80528, 0.51971 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -25), -20.4829, 0.54319 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -20), -20.87534, 0.56751 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -15), -21.07955, 0.59111 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -10), -21.22698, 0.61152 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -5), -21.51217, 0.62552 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 0), -22.17776, 0.63007 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 5), -23.44085, 0.62344 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 10), -25.3975, 0.60607 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 15), -27.97371, 0.58044 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 20), -30.95799, 0.55024 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 25), -34.08534, 0.51922 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 30), -37.11369, 0.49032 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 35), -39.85907, 0.46536 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 40), -42.19392, 0.44513 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 45), -44.02944, 0.42972 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 50), -45.29899, 0.41879 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 55), -45.949, 0.41183 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 60), -45.93619, 0.40824 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 65), -45.22745, 0.40741 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 70), -43.79875, 0.40874 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 75), -41.63327, 0.4116 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 80), -38.7241, 0.41533 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 85), -35.08964, 0.41915 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 90), -30.80355, 0.42217 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 95), -26.02431, 0.42355 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 100), -20.99404, 0.42274 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 105), -15.98737, 0.41976 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 110), -11.23169, 0.4152 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 115), -6.85045, 0.40984 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 120), -2.86147, 0.40435 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 125), 0.78134, 0.39908 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 130), 4.13729, 0.39412 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 135), 7.24516, 0.3894 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 140), 10.11372, 0.3848 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 145), 12.72923, 0.38027 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 150), 15.06786, 0.37581 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 155), 17.10529, 0.37148 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 160), 18.82301, 0.36737 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 165), 20.21391, 0.36357 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 170), 21.28757, 0.36017 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 175), 22.07243, 0.35722 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 180), 22.61204, 0.35473 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -180), 19.55272, 0.33999 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -175), 19.89083, 0.33909 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -170), 20.09971, 0.33846 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -165), 20.21149, 0.33805 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -160), 20.24205, 0.33784 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -155), 20.19825, 0.3378 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -150), 20.08849, 0.33793 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -145), 19.9296, 0.33825 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -140), 19.74698, 0.33878 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -135), 19.56998, 0.33956 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -130), 19.42593, 0.34065 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -125), 19.33381, 0.34207 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -120), 19.29581, 0.34384 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -115), 19.28461, 0.34595 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -110), 19.22914, 0.34839 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -105), 19.0068, 0.35118 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -100), 18.45142, 0.35443 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -95), 17.37947, 0.35832 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -90), 15.62777, 0.3631 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -85), 13.09211, 0.36899 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -80), 9.75909, 0.37609 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -75), 5.72715, 0.38435 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -70), 1.20996, 0.39357 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -65), -3.48847, 0.40356 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -60), -8.03038, 0.41431 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -55), -12.11696, 0.42604 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -50), -15.54796, 0.43914 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -45), -18.24677, 0.45407 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -40), -20.24806, 0.47115 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -35), -21.6577, 0.49061 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -30), -22.59972, 0.51256 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -25), -23.1686, 0.537 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -20), -23.40862, 0.56366 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -15), -23.33503, 0.59155 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -10), -22.99408, 0.61842 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -5), -22.53315, 0.64057 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 0), -22.22752, 0.65345 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 5), -22.41379, 0.6533 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 10), -23.34429, 0.63899 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 15), -25.06144, 0.61258 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 20), -27.38786, 0.57847 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 25), -30.02412, 0.54172 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 30), -32.66567, 0.5066 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 35), -35.06911, 0.47584 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 40), -37.06168, 0.45065 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 45), -38.52389, 0.43119 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 50), -39.37186, 0.41694 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 55), -39.54916, 0.40712 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 60), -39.0259, 0.40084 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 65), -37.79857, 0.39722 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 70), -35.88554, 0.39541 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 75), -33.31988, 0.39465 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 80), -30.14878, 0.3942 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 85), -26.44986, 0.39339 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 90), -22.35978, 0.39161 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 95), -18.08888, 0.38852 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 100), -13.89105, 0.38419 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 105), -9.99091, 0.37909 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 110), -6.51279, 0.3739 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 115), -3.45825, 0.36916 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 120), -0.73878, 0.36519 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 125), 1.76432, 0.36197 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 130), 4.14649, 0.35934 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 135), 6.45258, 0.35705 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 140), 8.67876, 0.35491 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 145), 10.79177, 0.3528 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 150), 12.74909, 0.35066 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 155), 14.50973, 0.34853 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 160), 16.03764, 0.34644 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 165), 17.30542, 0.34447 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 170), 18.30188, 0.3427 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 175), 19.0392, 0.34119 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 180), 19.55272, 0.33999 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -180), 17.05498, 0.32867 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -175), 17.35791, 0.32848 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -170), 17.55225, 0.32851 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -165), 17.67384, 0.32873 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -160), 17.73574, 0.3291 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -155), 17.73504, 0.3296 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -150), 17.66605, 0.33021 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -145), 17.53082, 0.33097 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -140), 17.3424, 0.33189 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -135), 17.12306, 0.33302 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -130), 16.90113, 0.33441 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -125), 16.70706, 0.33609 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -120), 16.56425, 0.33809 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -115), 16.47095, 0.34039 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -110), 16.37662, 0.34297 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -105), 16.16484, 0.34584 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -100), 15.65736, 0.34911 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -95), 14.64479, 0.35297 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -90), 12.93461, 0.35766 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -85), 10.40116, 0.36339 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -80), 7.02604, 0.3702 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -75), 2.92319, 0.37796 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -70), -1.66063, 0.38639 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -65), -6.38233, 0.39529 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -60), -10.87572, 0.40471 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -55), -14.83619, 0.41496 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -50), -18.0804, 0.42655 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -45), -20.56209, 0.43995 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -40), -22.34797, 0.45546 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -35), -23.56744, 0.47321 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -30), -24.35014, 0.49326 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -25), -24.77105, 0.51568 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -20), -24.82736, 0.54049 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -15), -24.46461, 0.56725 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -10), -23.64968, 0.5945 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -5), -22.46461, 0.61911 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 0), -21.16929, 0.63651 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 5), -20.16809, 0.6421 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 10), -19.85951, 0.63331 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 15), -20.45374, 0.61098 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 20), -21.89161, 0.57886 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 25), -23.90751, 0.5421 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 30), -26.15931, 0.50552 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 35), -28.3303, 0.47257 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 40), -30.17079, 0.44501 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 45), -31.50028, 0.42324 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 50), -32.19935, 0.40682 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 55), -32.20479, 0.39489 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 60), -31.50655, 0.38645 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 65), -30.1395, 0.38054 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 70), -28.16612, 0.37632 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 75), -25.65655, 0.37308 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 80), -22.68253, 0.37023 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 85), -19.33695, 0.36726 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 90), -15.76726, 0.3638 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 95), -12.18656, 0.3597 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 100), -8.83222, 0.35514 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 105), -5.88618, 0.35054 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 110), -3.41019, 0.34638 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 115), -1.33826, 0.34298 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 120), 0.47619, 0.34044 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 125), 2.19071, 0.33864 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 130), 3.91566, 0.33736 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 135), 5.68883, 0.33637 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 140), 7.48617, 0.33546 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 145), 9.25317, 0.33454 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 150), 10.93329, 0.33357 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 155), 12.47865, 0.33257 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 160), 13.84739, 0.33156 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 165), 15.00191, 0.33061 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 170), 15.91681, 0.32977 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 175), 16.5914, 0.32911 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 180), 17.05498, 0.32867 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -180), 15.01545, 0.32009 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -175), 15.26164, 0.32034 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -170), 15.41483, 0.32079 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -165), 15.51872, 0.32142 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -160), 15.58835, 0.3222 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -155), 15.61527, 0.32308 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -150), 15.58247, 0.32407 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -145), 15.47788, 0.32516 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -140), 15.30073, 0.32638 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -135), 15.06275, 0.32775 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -130), 14.78861, 0.32932 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -125), 14.51481, 0.33111 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -120), 14.28046, 0.33312 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -115), 14.10429, 0.33535 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -110), 13.9524, 0.33778 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -105), 13.71348, 0.34044 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -100), 13.20092, 0.34343 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -95), 12.18871, 0.34697 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -90), 10.46882, 0.35128 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -85), 7.90989, 0.3565 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -80), 4.50277, 0.36262 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -75), 0.38509, 0.36939 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -70), -4.16624, 0.37653 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -65), -8.78537, 0.38384 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -60), -13.10259, 0.39148 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -55), -16.82951, 0.39987 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -50), -19.80854, 0.40956 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -45), -22.01612, 0.42099 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -40), -23.53161, 0.43434 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -35), -24.48542, 0.44955 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -30), -24.99754, 0.46642 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -25), -25.12388, 0.4848 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -20), -24.83577, 0.50458 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -15), -24.05003, 0.52553 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -10), -22.70482, 0.54674 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -5), -20.85288, 0.56617 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 0), -18.72757, 0.58058 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 5), -16.72871, 0.58643 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 10), -15.30454, 0.58135 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 15), -14.78211, 0.56529 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 20), -15.25145, 0.54049 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 25), -16.56352, 0.51063 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 30), -18.41313, 0.47957 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 35), -20.44074, 0.45046 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 40), -22.30972, 0.42525 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 45), -23.75142, 0.40467 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 50), -24.58661, 0.38863 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 55), -24.7313, 0.37647 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 60), -24.18844, 0.3674 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 65), -23.0238, 0.36061 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 70), -21.32919, 0.35541 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 75), -19.18871, 0.35127 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 80), -16.67102, 0.34775 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 85), -13.85756, 0.34446 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 90), -10.88587, 0.34111 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 95), -7.96314, 0.33759 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 100), -5.31921, 0.334 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 105), -3.11941, 0.33063 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 110), -1.39686, 0.32776 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 115), -0.048, 0.32559 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 120), 1.11212, 0.32414 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 125), 2.26943, 0.32329 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 130), 3.54374, 0.32283 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 135), 4.96175, 0.32257 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 140), 6.47576, 0.32233 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 145), 8.00844, 0.32205 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 150), 9.49079, 0.3217 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 155), 10.87285, 0.32131 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 160), 12.11339, 0.3209 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 165), 13.17058, 0.32052 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 170), 14.00863, 0.32022 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 175), 14.6156, 0.32006 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 180), 15.01545, 0.32009 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -180), 13.37435, 0.31385 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -175), 13.54982, 0.31436 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -170), 13.64064, 0.31508 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -165), 13.70148, 0.31597 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -160), 13.75363, 0.31701 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -155), 13.78763, 0.31816 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -150), 13.77884, 0.3194 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -145), 13.70349, 0.32073 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -140), 13.54792, 0.32215 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -135), 13.31288, 0.32367 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -130), 13.01738, 0.32531 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -125), 12.70009, 0.32709 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -120), 12.4097, 0.329 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -115), 12.17731, 0.33102 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -110), 11.97747, 0.33314 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -105), 11.69908, 0.33543 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -100), 11.14887, 0.33802 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -95), 10.09364, 0.34111 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -90), 8.32487, 0.3449 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -85), 5.7221, 0.34945 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -80), 2.29867, 0.35465 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -75), -1.77966, 0.36018 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -70), -6.21421, 0.36576 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -65), -10.63604, 0.37127 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -60), -14.6935, 0.37695 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -55), -18.12644, 0.38328 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -50), -20.79954, 0.39082 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -45), -22.69548, 0.39993 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -40), -23.88381, 0.41069 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -35), -24.47673, 0.42284 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -30), -24.57796, 0.43591 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -25), -24.23822, 0.44941 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -20), -23.43981, 0.46295 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -15), -22.12636, 0.47622 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -10), -20.26908, 0.48868 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -5), -17.93845, 0.49932 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 0), -15.34479, 0.50658 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 5), -12.8216, 0.50876 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 10), -10.75053, 0.50461 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 15), -9.45775, 0.49391 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 20), -9.12499, 0.47763 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 25), -9.74516, 0.4576 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 30), -11.12891, 0.43605 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 35), -12.95488, 0.41499 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 40), -14.8479, 0.39592 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 45), -16.46312, 0.37966 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 50), -17.5516, 0.36641 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 55), -17.99146, 0.35595 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 60), -17.78053, 0.34781 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 65), -16.99658, 0.34148 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 70), -15.74116, 0.33653 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 75), -14.09447, 0.3326 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 80), -12.10862, 0.32937 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 85), -9.84514, 0.32658 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 90), -7.42758, 0.32398 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 95), -5.05872, 0.32145 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 100), -2.97055, 0.31901 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 105), -1.32938, 0.31682 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 110), -0.16007, 0.31507 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 115), 0.66166, 0.31386 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 120), 1.34906, 0.3132 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 125), 2.11221, 0.31298 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 130), 3.07927, 0.31304 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 135), 4.26569, 0.31321 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 140), 5.60014, 0.31337 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 145), 6.98258, 0.31347 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 150), 8.33234, 0.31349 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 155), 9.59917, 0.31347 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 160), 10.74514, 0.31342 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 165), 11.727, 0.31338 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 170), 12.5006, 0.3134 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 175), 13.04355, 0.31354 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 180), 13.37435, 0.31385 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -180), 12.08931, 0.3097 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -175), 12.18931, 0.31038 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -170), 12.20473, 0.31125 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -165), 12.20346, 0.31229 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -160), 12.21669, 0.31348 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -155), 12.23797, 0.31478 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -150), 12.23848, 0.31617 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -145), 12.18527, 0.31761 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -140), 12.05358, 0.31912 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -135), 11.83462, 0.32068 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -130), 11.54215, 0.3223 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -125), 11.21505, 0.32397 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -120), 10.90597, 0.32568 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -115), 10.64948, 0.32742 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -110), 10.41919, 0.32919 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -105), 10.09875, 0.3311 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -100), 9.49026, 0.33329 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -95), 8.36302, 0.33596 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -90), 6.52227, 0.33923 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -85), 3.87234, 0.34309 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -80), 0.45748, 0.34732 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -75), -3.53015, 0.35157 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -70), -7.78289, 0.35558 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -65), -11.94658, 0.35932 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -60), -15.69994, 0.36307 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -55), -18.811, 0.36734 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -50), -21.15559, 0.37262 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -45), -22.70706, 0.37923 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -40), -23.51205, 0.38714 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -35), -23.65975, 0.39599 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -30), -23.24639, 0.40515 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -25), -22.34295, 0.41393 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -20), -20.98276, 0.42175 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -15), -19.18082, 0.42827 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -10), -16.97522, 0.43331 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -5), -14.46428, 0.43665 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 0), -11.81789, 0.438 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 5), -9.26203, 0.43693 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 10), -7.05011, 0.43303 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 15), -5.43003, 0.42611 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 20), -4.60179, 0.41641 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 25), -4.66264, 0.40459 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 30), -5.5567, 0.39162 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 35), -7.06196, 0.37848 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 40), -8.83574, 0.36603 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 45), -10.50761, 0.35487 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 50), -11.77936, 0.3453 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 55), -12.48832, 0.33737 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 60), -12.61222, 0.33092 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 65), -12.22244, 0.32574 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 70), -11.4143, 0.32161 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 75), -10.25363, 0.31832 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 80), -8.77113, 0.31571 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 85), -7.00648, 0.31357 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 90), -5.06745, 0.31174 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 95), -3.15078, 0.31009 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 100), -1.49185, 0.30861 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 105), -0.26463, 0.30736 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 110), 0.50331, 0.30646 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 115), 0.94564, 0.30596 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 120), 1.29546, 0.30585 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 125), 1.78267, 0.30605 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 130), 2.54319, 0.30645 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 135), 3.58337, 0.30692 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 140), 4.81153, 0.30735 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 145), 6.10751, 0.30772 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 150), 7.37992, 0.30801 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 155), 8.57799, 0.30824 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 160), 9.66683, 0.30844 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 165), 10.6021, 0.30864 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 170), 11.33186, 0.30888 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 175), 11.82339, 0.30922 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 180), 12.08931, 0.3097 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -180), 11.11853, 0.30748 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -175), 11.15002, 0.30827 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -170), 11.08836, 0.30923 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -165), 11.01638, 0.31036 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -160), 10.97837, 0.31161 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -155), 10.97434, 0.31296 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -150), 10.97392, 0.31437 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -145), 10.93646, 0.31582 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -140), 10.82734, 0.31728 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -135), 10.62978, 0.31875 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -130), 10.35375, 0.32023 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -125), 10.03779, 0.3217 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -120), 9.73426, 0.32315 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -115), 9.47362, 0.32458 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -110), 9.22101, 0.32603 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -105), 8.85172, 0.32761 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -100), 8.16705, 0.32948 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -95), 6.94839, 0.33181 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -90), 5.02631, 0.33465 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -85), 2.33898, 0.33789 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -80), -1.03662, 0.34124 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -75), -4.88951, 0.34434 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -70), -8.91709, 0.34697 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -65), -12.7917, 0.34914 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -60), -16.22435, 0.35119 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -55), -19.00326, 0.35356 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -50), -21.00446, 0.35671 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -45), -22.18539, 0.36086 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -40), -22.57186, 0.36596 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -35), -22.24091, 0.37164 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -30), -21.299, 0.37727 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -25), -19.85886, 0.38216 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -20), -18.02472, 0.38577 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -15), -15.89254, 0.38784 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -10), -13.55963, 0.38847 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -5), -11.13021, 0.38788 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 0), -8.71266, 0.38634 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 5), -6.41876, 0.38395 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 10), -4.37514, 0.38063 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 15), -2.73857, 0.37621 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 20), -1.68842, 0.37065 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 25), -1.37631, 0.36408 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 30), -1.84855, 0.3568 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 35), -2.9888, 0.34923 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 40), -4.52534, 0.34175 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 45), -6.10983, 0.3347 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 50), -7.42983, 0.32832 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 55), -8.29632, 0.32275 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 60), -8.66533, 0.31801 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 65), -8.59339, 0.31405 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 70), -8.16168, 0.31081 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 75), -7.41781, 0.30822 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 80), -6.37063, 0.30618 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 85), -5.03792, 0.3046 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 90), -3.50923, 0.30336 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 95), -1.97001, 0.30236 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 100), -0.65371, 0.30157 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 105), 0.25951, 0.30101 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 110), 0.73495, 0.30071 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 115), 0.90702, 0.30071 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 120), 1.01946, 0.30099 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 125), 1.31567, 0.30148 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 130), 1.93789, 0.30212 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 135), 2.88698, 0.30281 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 140), 4.05704, 0.30348 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 145), 5.3129, 0.30408 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 150), 6.55407, 0.30461 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 155), 7.7278, 0.30508 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 160), 8.8, 0.30551 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 165), 9.72379, 0.30592 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 170), 10.43895, 0.30634 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 175), 10.90198, 0.30685 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 180), 11.11853, 0.30748 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -180), 10.41051, 0.30703 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -175), 10.39457, 0.30794 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -170), 10.26832, 0.30897 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -165), 10.13063, 0.31013 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -160), 10.04177, 0.31139 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -155), 10.01141, 0.3127 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -150), 10.00954, 0.31404 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -145), 9.98815, 0.31536 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -140), 9.90256, 0.31666 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -135), 9.72843, 0.31792 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -130), 9.47275, 0.31915 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -125), 9.1735, 0.32033 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -120), 8.87995, 0.32146 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -115), 8.61381, 0.32257 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -110), 8.32818, 0.32373 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -105), 7.89078, 0.32506 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -100), 7.10783, 0.32672 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -95), 5.78147, 0.32881 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -90), 3.77558, 0.33132 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -85), 1.06562, 0.33405 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -80), -2.24244, 0.33668 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -75), -5.92927, 0.33885 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -70), -9.70854, 0.34036 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -65), -13.28345, 0.34129 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -60), -16.39239, 0.34194 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -55), -18.83501, 0.34273 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -50), -20.4832, 0.34402 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -45), -21.28374, 0.34602 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -40), -21.25561, 0.34867 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -35), -20.48116, 0.35166 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -30), -19.09042, 0.35448 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -25), -17.24073, 0.3566 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -20), -15.09652, 0.35762 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -15), -12.81235, 0.35741 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -10), -10.51785, 0.35614 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -5), -8.30396, 0.35417 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 0), -6.21809, 0.35186 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 5), -4.27975, 0.34939 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 10), -2.51836, 0.3468 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 15), -1.01548, 0.34396 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 20), 0.08216, 0.34075 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 25), 0.60405, 0.33711 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 30), 0.44138, 0.33311 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 35), -0.3722, 0.32886 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 40), -1.63879, 0.3245 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 45), -3.05449, 0.32019 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 50), -4.31918, 0.31608 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 55), -5.23589, 0.3123 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 60), -5.74651, 0.30893 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 65), -5.89377, 0.306 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 70), -5.74501, 0.30352 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 75), -5.33183, 0.3015 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 80), -4.64448, 0.29992 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 85), -3.68074, 0.29873 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 90), -2.51018, 0.29789 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 95), -1.30081, 0.29732 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 100), -0.2758, 0.29699 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 105), 0.3849, 0.29689 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 110), 0.63992, 0.29701 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 115), 0.61817, 0.29736 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 120), 0.56433, 0.29791 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 125), 0.72704, 0.29862 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 130), 1.25245, 0.29944 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 135), 2.14025, 0.30033 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 140), 3.27855, 0.30121 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 145), 4.52418, 0.30206 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 150), 5.76998, 0.30286 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 155), 6.9595, 0.30359 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 160), 8.05615, 0.30427 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 165), 9.00825, 0.30492 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 170), 9.74623, 0.30556 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 175), 10.21471, 0.30625 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 180), 10.41051, 0.30703 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -180), 9.8989, 0.30822 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -175), 9.87247, 0.30926 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -170), 9.71054, 0.31038 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -165), 9.52792, 0.31156 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -160), 9.40313, 0.31277 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -155), 9.35842, 0.31398 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -150), 9.36587, 0.31516 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -145), 9.37003, 0.31627 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -140), 9.31498, 0.3173 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -135), 9.16763, 0.31825 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -130), 8.93126, 0.31914 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -125), 8.64227, 0.31996 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -120), 8.34509, 0.32074 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -115), 8.05126, 0.32153 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -110), 7.70279, 0.32243 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -105), 7.16413, 0.32357 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -100), 6.25337, 0.32509 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -95), 4.80029, 0.32701 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -90), 2.7063, 0.32927 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -85), -0.01655, 0.33161 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -80), -3.23975, 0.33367 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -75), -6.74474, 0.33513 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -70), -10.26731, 0.33583 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -65), -13.54009, 0.33583 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -60), -16.32285, 0.33541 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -55), -18.42334, 0.33494 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -50), -19.7143, 0.33476 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -45), -20.14544, 0.33503 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -40), -19.74607, 0.33575 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -35), -18.61661, 0.3367 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -30), -16.91103, 0.33754 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -25), -14.81523, 0.33791 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -20), -12.52464, 0.33756 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -15), -10.22038, 0.33642 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -10), -8.04257, 0.33466 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -5), -6.06666, 0.33254 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 0), -4.29743, 0.33034 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 5), -2.69318, 0.32825 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 10), -1.21751, 0.3263 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 15), 0.10413, 0.32441 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 20), 1.15857, 0.32248 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 25), 1.77682, 0.32042 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 30), 1.81782, 0.31819 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 35), 1.25903, 0.31579 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 40), 0.23711, 0.31326 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 45), -0.99149, 0.31063 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 50), -2.151, 0.30799 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 55), -3.04887, 0.30543 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 60), -3.62087, 0.30304 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 65), -3.90088, 0.30088 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 70), -3.94733, 0.29899 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 75), -3.78211, 0.2974 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 80), -3.38342, 0.29613 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 85), -2.73332, 0.29521 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 90), -1.88144, 0.2946 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 95), -0.97357, 0.29429 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 100), -0.21401, 0.29424 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 105), 0.22595, 0.29443 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 110), 0.30203, 0.29482 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 115), 0.13406, 0.2954 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 120), -0.04133, 0.29614 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 125), 0.02104, 0.29701 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 130), 0.46822, 0.29799 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 135), 1.30315, 0.29906 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 140), 2.41687, 0.30018 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 145), 3.66622, 0.3013 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 150), 4.94061, 0.3024 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 155), 6.17845, 0.30345 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 160), 7.33756, 0.30445 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 165), 8.35915, 0.3054 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 170), 9.1633, 0.30632 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 175), 9.68148, 0.30725 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 180), 9.8989, 0.30822 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -180), 9.50158, 0.31084 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -175), 9.51759, 0.31207 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -170), 9.36668, 0.31329 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -165), 9.17724, 0.31448 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -160), 9.0466, 0.31563 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -155), 9.0118, 0.31669 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -150), 9.04903, 0.31765 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -145), 9.09599, 0.31848 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -140), 9.08454, 0.31918 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -135), 8.97094, 0.31977 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -130), 8.75246, 0.32027 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -125), 8.46163, 0.32071 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -120), 8.13673, 0.32113 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -115), 7.78012, 0.32163 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -110), 7.32678, 0.3223 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -105), 6.64446, 0.32329 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -100), 5.56979, 0.32468 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -95), 3.96497, 0.32647 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -90), 1.77024, 0.32851 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -85), -0.96863, 0.33052 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -80), -4.10613, 0.33214 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -75), -7.42902, 0.33307 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -70), -10.69508, 0.33317 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -65), -13.66246, 0.3325 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -60), -16.1101, 0.33131 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -55), -17.85868, 0.32992 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -50), -18.79426, 0.32863 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -45), -18.88526, 0.32762 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -40), -18.18355, 0.32694 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -35), -16.80967, 0.32647 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -30), -14.9301, 0.32602 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -25), -12.73546, 0.32538 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -20), -10.42249, 0.32438 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -15), -8.17367, 0.32299 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -10), -6.12877, 0.32128 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -5), -4.35537, 0.31942 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 0), -2.83781, 0.31758 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 5), -1.50138, 0.31591 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 10), -0.26901, 0.31443 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 15), 0.87435, 0.31312 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 20), 1.84673, 0.31189 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 25), 2.49169, 0.31068 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 30), 2.65588, 0.30941 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 35), 2.28156, 0.30805 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 40), 1.45872, 0.30656 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 45), 0.4013, 0.30494 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 50), -0.64188, 0.30321 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 55), -1.48788, 0.30145 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 60), -2.07095, 0.29973 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 65), -2.42016, 0.2981 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 70), -2.59053, 0.29662 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 75), -2.60193, 0.29533 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 80), -2.42886, 0.29428 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 85), -2.04395, 0.2935 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 90), -1.47916, 0.29302 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 95), -0.85538, 0.29284 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 100), -0.35133, 0.29293 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 105), -0.12134, 0.29328 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 110), -0.20731, 0.29383 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 115), -0.49948, 0.29454 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 120), -0.77599, 0.2954 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 125), -0.80254, 0.29638 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 130), -0.43405, 0.2975 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 135), 0.33955, 0.29876 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 140), 1.42028, 0.30011 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 145), 2.67262, 0.30153 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 150), 3.98629, 0.30297 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 155), 5.29401, 0.30439 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 160), 6.54578, 0.30577 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 165), 7.67436, 0.30709 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 170), 8.58927, 0.30837 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 175), 9.20811, 0.30961 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 180), 9.50158, 0.31084 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -180), 9.12487, 0.3146 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -175), 9.24925, 0.31608 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -170), 9.17319, 0.31744 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -165), 9.03284, 0.31866 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -160), 8.94159, 0.31973 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -155), 8.95166, 0.32062 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -150), 9.04556, 0.32132 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -145), 9.15636, 0.32185 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -140), 9.20461, 0.32221 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -135), 9.13477, 0.32244 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -130), 8.93516, 0.32257 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -125), 8.63111, 0.32266 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -120), 8.2533, 0.32277 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -115), 7.79685, 0.32301 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -110), 7.19501, 0.32351 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -105), 6.32542, 0.32437 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -100), 5.04865, 0.32564 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -95), 3.26183, 0.32728 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -90), 0.94327, 0.32909 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -85), -1.83031, 0.33077 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -80), -4.89878, 0.33199 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -75), -8.05309, 0.33248 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -70), -11.06842, 0.33213 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -65), -13.72503, 0.33098 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -60), -15.82433, 0.32925 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -55), -17.21153, 0.32722 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -50), -17.80152, 0.32516 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -45), -17.59381, 0.32327 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -40), -16.6664, 0.32164 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -35), -15.1528, 0.32026 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -30), -13.21579, 0.31902 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -25), -11.02989, 0.31781 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -20), -8.77282, 0.31654 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -15), -6.61385, 0.31514 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -10), -4.68838, 0.31364 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -5), -3.06436, 0.3121 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 0), -1.72371, 0.31063 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 5), -0.5804, 0.3093 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 10), 0.46407, 0.30816 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 15), 1.45297, 0.3072 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 20), 2.33237, 0.30638 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 25), 2.96461, 0.30564 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 30), 3.19715, 0.30493 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 35), 2.95227, 0.30417 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 40), 2.28534, 0.3033 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 45), 1.37388, 0.30228 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 50), 0.44067, 0.30111 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 55), -0.34242, 0.29984 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 60), -0.90955, 0.29854 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 65), -1.28665, 0.29726 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 70), -1.52884, 0.29605 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 75), -1.66046, 0.29496 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 80), -1.66042, 0.29403 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 85), -1.49921, 0.29332 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 90), -1.19504, 0.29288 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 95), -0.84369, 0.29274 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 100), -0.59407, 0.29288 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 105), -0.57715, 0.29327 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 110), -0.82702, 0.29388 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 115), -1.24285, 0.29466 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 120), -1.6209, 0.29557 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 125), -1.74261, 0.29662 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 130), -1.46683, 0.29785 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 135), -0.77383, 0.29926 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 140), 0.25519, 0.30084 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 145), 1.49833, 0.30255 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 150), 2.84906, 0.30434 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 155), 4.23486, 0.30616 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 160), 5.59703, 0.30796 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 165), 6.85999, 0.30971 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 170), 7.92419, 0.31141 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 175), 8.69439, 0.31304 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 180), 9.12487, 0.3146 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -180), 8.6754, 0.3191 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -175), 8.97964, 0.32087 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -170), 9.05474, 0.32242 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -165), 9.0349, 0.3237 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -160), 9.04214, 0.32469 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -155), 9.14093, 0.32541 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -150), 9.32158, 0.32586 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -145), 9.51668, 0.3261 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -140), 9.63935, 0.32616 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -135), 9.62347, 0.32609 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -130), 9.4463, 0.32595 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -125), 9.12253, 0.32579 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -120), 8.67325, 0.3257 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -115), 8.08782, 0.32579 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -110), 7.30229, 0.32618 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -105), 6.2092, 0.32695 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -100), 4.69627, 0.32812 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -95), 2.69592, 0.32959 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -90), 0.22287, 0.33113 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -85), -2.61683, 0.33244 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -80), -5.64706, 0.33323 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -75), -8.65766, 0.33328 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -70), -11.4349, 0.33251 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -65), -13.77971, 0.33098 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -60), -15.52333, 0.32887 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -55), -16.54911, 0.32643 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -50), -16.81392, 0.32389 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -45), -16.35431, 0.32146 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -40), -15.27073, 0.31926 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -35), -13.69858, 0.31732 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -30), -11.78321, 0.31563 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -25), -9.67044, 0.31414 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -20), -7.50913, 0.31276 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -15), -5.449, 0.31144 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -10), -3.61938, 0.31014 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -5), -2.09343, 0.30889 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 0), -0.86206, 0.30771 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 5), 0.15671, 0.30666 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 10), 1.06811, 0.30577 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 15), 1.93339, 0.30505 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 20), 2.72335, 0.30449 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 25), 3.32288, 0.30405 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 30), 3.58966, 0.30368 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 35), 3.43729, 0.30329 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 40), 2.89574, 0.30281 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 45), 2.11086, 0.30216 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 50), 1.27997, 0.30133 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 55), 0.56289, 0.30035 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 60), 0.02505, 0.29929 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 65), -0.35618, 0.2982 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 70), -0.63695, 0.29714 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 75), -0.84959, 0.29614 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 80), -0.98355, 0.29526 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 85), -1.01374, 0.29456 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 90), -0.94948, 0.2941 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 95), -0.86312, 0.29392 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 100), -0.87225, 0.29404 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 105), -1.08046, 0.29442 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 110), -1.5094, 0.29501 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 115), -2.06429, 0.29577 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 120), -2.55951, 0.29668 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 125), -2.79379, 0.29775 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 130), -2.63096, 0.29903 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 135), -2.04084, 0.30054 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 140), -1.08528, 0.3023 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 145), 0.13056, 0.30425 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 150), 1.50628, 0.30635 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 155), 2.96513, 0.30853 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 160), 4.44021, 0.31074 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 165), 5.84926, 0.31294 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 170), 7.0872, 0.31508 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 175), 8.04966, 0.31715 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 180), 8.6754, 0.3191 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -180), 8.07919, 0.32387 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -175), 8.62901, 0.32596 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -170), 8.93431, 0.32772 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -165), 9.11495, 0.32908 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -160), 9.28941, 0.33003 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -155), 9.52702, 0.3306 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -150), 9.82543, 0.33085 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -145), 10.12177, 0.33087 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -140), 10.32846, 0.33073 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -135), 10.37315, 0.3305 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -130), 10.2224, 0.33024 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -125), 9.87785, 0.33002 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -120), 9.34883, 0.32991 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -115), 8.61916, 0.33001 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -110), 7.6299, 0.33043 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -105), 6.29081, 0.33122 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -100), 4.51736, 0.33234 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -95), 2.2759, 0.33365 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -90), -0.38428, 0.33488 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -85), -3.32776, 0.33576 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -80), -6.3586, 0.33604 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -75), -9.25886, 0.33557 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -70), -11.82073, 0.33433 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -65), -13.86667, 0.33243 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -60), -15.26535, 0.33003 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -55), -15.94838, 0.32733 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -50), -15.92096, 0.32455 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -45), -15.25585, 0.32185 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -40), -14.06881, 0.31936 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -35), -12.48793, 0.31715 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -30), -10.63387, 0.31524 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -25), -8.61999, 0.31361 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -20), -6.56461, 0.31221 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -15), -4.59633, 0.31098 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -10), -2.83699, 0.30987 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -5), -1.36575, 0.30886 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 0), -0.18785, 0.30793 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 5), 0.76494, 0.30711 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 10), 1.59338, 0.30643 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 15), 2.36797, 0.3059 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 20), 3.08062, 0.30553 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 25), 3.64127, 0.30532 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 30), 3.92498, 0.30519 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 35), 3.84575, 0.30506 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 40), 3.41539, 0.30483 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 45), 2.75098, 0.30442 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 50), 2.02326, 0.30377 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 55), 1.37737, 0.30294 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 60), 0.87682, 0.30197 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 65), 0.50282, 0.30095 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 70), 0.19941, 0.29992 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 75), -0.07392, 0.29893 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 80), -0.31989, 0.29803 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 85), -0.52235, 0.29729 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 90), -0.68624, 0.29677 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 95), -0.86344, 0.29652 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 100), -1.14079, 0.29655 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 105), -1.5926, 0.29686 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 110), -2.22436, 0.29738 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 115), -2.9433, 0.29807 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 120), -3.57905, 0.29891 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 125), -3.94652, 0.29993 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 130), -3.91496, 0.30118 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 135), -3.44483, 0.30271 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 140), -2.57969, 0.30453 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 145), -1.40806, 0.30662 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 150), -0.02362, 0.30893 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 155), 1.49361, 0.31138 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 160), 3.06991, 0.31392 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 165), 4.61925, 0.31649 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 170), 6.03615, 0.31905 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 175), 7.21353, 0.32153 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 180), 8.07919, 0.32387 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -180), 7.30271, 0.32852 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -175), 8.146, 0.33088 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -170), 8.74942, 0.33284 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -165), 9.2065, 0.3343 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -160), 9.61757, 0.33526 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -155), 10.04572, 0.33575 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -150), 10.49244, 0.3359 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -145), 10.90335, 0.33583 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -140), 11.19779, 0.33565 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -135), 11.30397, 0.33545 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -130), 11.18104, 0.3353 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -125), 10.81749, 0.33525 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -120), 10.20952, 0.33538 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -115), 9.33442, 0.33575 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -110), 8.1378, 0.33642 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -105), 6.54584, 0.33741 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -100), 4.49976, 0.33862 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -95), 1.99729, 0.33984 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -90), -0.87928, 0.34078 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -85), -3.96371, 0.34118 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -80), -7.03576, 0.34083 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -75), -9.86451, 0.33971 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -70), -12.24579, 0.33789 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -65), -14.02584, 0.33553 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -60), -15.11535, 0.33283 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -55), -15.49687, 0.32996 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -50), -15.22208, 0.32708 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -45), -14.39375, 0.32431 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -40), -13.13586, 0.32174 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -35), -11.56482, 0.31946 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -30), -9.77683, 0.31749 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -25), -7.8562, 0.31584 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -20), -5.89427, 0.31449 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -15), -3.9996, 0.31337 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -10), -2.28481, 0.31243 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -5), -0.83279, 0.31163 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 0), 0.33641, 0.31094 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 5), 1.27247, 0.31034 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 10), 2.06376, 0.30987 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 15), 2.78258, 0.30953 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 20), 3.43805, 0.30935 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 25), 3.96624, 0.30933 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 30), 4.26515, 0.3094 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 35), 4.25668, 0.30947 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 40), 3.94035, 0.30942 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 45), 3.40602, 0.30914 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 50), 2.79488, 0.30858 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 55), 2.23251, 0.30777 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 60), 1.77714, 0.30679 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 65), 1.41353, 0.30572 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 70), 1.08821, 0.30463 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 75), 0.75515, 0.30357 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 80), 0.39931, 0.3026 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 85), 0.02638, 0.30178 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 90), -0.36726, 0.30116 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 95), -0.81615, 0.30081 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 100), -1.37811, 0.30074 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 105), -2.09757, 0.30093 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 110), -2.96074, 0.30132 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 115), -3.87212, 0.30186 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 120), -4.67197, 0.30255 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 125), -5.18888, 0.30342 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 130), -5.29793, 0.30454 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 135), -4.95333, 0.30596 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 140), -4.18439, 0.30771 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 145), -3.06625, 0.30978 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 150), -1.68708, 0.31213 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 155), -0.12964, 0.3147 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 160), 1.52738, 0.31742 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 165), 3.19746, 0.32023 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 170), 4.78033, 0.32308 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 175), 6.17399, 0.32588 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 180), 7.30271, 0.32852 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -180), 6.36645, 0.33286 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -175), 7.52474, 0.33538 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -170), 8.46893, 0.33746 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -165), 9.25842, 0.33903 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -160), 9.96281, 0.34005 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -155), 10.62728, 0.3406 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -150), 11.25105, 0.34081 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -145), 11.78899, 0.34085 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -140), 12.17279, 0.34086 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -135), 12.33787, 0.34095 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -130), 12.24095, 0.34119 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -125), 11.85988, 0.34162 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -120), 11.17801, 0.3423 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -115), 10.16496, 0.34326 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -110), 8.76866, 0.34451 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -105), 6.92842, 0.34599 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -100), 4.60739, 0.34753 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -95), 1.8314, 0.34882 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -90), -1.28519, 0.34955 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -85), -4.54331, 0.34943 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -80), -7.69474, 0.34835 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -75), -10.49336, 0.34641 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -70), -12.7394, 0.34382 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -65), -14.30522, 0.34086 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -60), -15.14357, 0.33776 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -55), -15.2833, 0.33468 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -50), -14.81389, 0.33174 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -45), -13.85902, 0.32899 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -40), -12.54537, 0.32648 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -35), -10.97818, 0.32426 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -30), -9.23501, 0.32236 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -25), -7.37919, 0.32078 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -20), -5.48173, 0.31952 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -15), -3.63376, 0.31854 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -10), -1.93693, 0.31779 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -5), -0.47386, 0.31722 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 0), 0.72359, 0.31678 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 5), 1.68576, 0.31644 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 10), 2.48413, 0.31621 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 15), 3.18673, 0.3161 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 20), 3.81562, 0.31613 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 25), 4.33244, 0.3163 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 30), 4.66159, 0.31655 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 35), 4.73849, 0.31679 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 40), 4.5551, 0.31686 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 45), 4.17479, 0.31665 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 50), 3.70537, 0.31609 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 55), 3.24655, 0.31522 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 60), 2.84606, 0.31413 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 65), 2.49068, 0.31293 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 70), 2.13167, 0.31171 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 75), 1.72177, 0.31053 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 80), 1.23751, 0.30945 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 85), 0.67582, 0.30853 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 90), 0.03362, 0.30781 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 95), -0.70839, 0.30735 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 100), -1.58075, 0.30714 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 105), -2.59766, 0.30717 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 110), -3.72305, 0.30736 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 115), -4.85367, 0.30767 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 120), -5.83543, 0.30809 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 125), -6.50802, 0.30867 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 130), -6.75374, 0.30949 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 135), -6.52538, 0.31063 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 140), -5.84431, 0.31213 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 145), -4.77751, 0.31399 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 150), -3.41011, 0.31619 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 155), -1.82736, 0.31865 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 160), -0.11097, 0.32134 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 165), 1.6551, 0.3242 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 170), 3.38037, 0.32713 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 175), 4.97461, 0.33006 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 180), 6.36645, 0.33286 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -180), 5.34248, 0.33706 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -175), 6.80902, 0.33957 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -170), 8.10229, 0.3417 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -165), 9.24648, 0.34336 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -160), 10.27466, 0.34453 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -155), 11.20615, 0.34531 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -150), 12.03129, 0.34582 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -145), 12.71118, 0.34625 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -140), 13.19054, 0.34676 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -135), 13.41513, 0.34745 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -130), 13.34326, 0.34843 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -125), 12.94561, 0.34972 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -120), 12.19456, 0.35135 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -115), 11.05172, 0.35331 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -110), 9.46489, 0.35556 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -105), 7.3825, 0.35794 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -100), 4.78538, 0.36015 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -95), 1.72473, 0.36178 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -90), -1.65307, 0.36241 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -85), -5.11394, 0.36175 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -80), -8.37978, 0.35979 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -75), -11.18989, 0.3568 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -70), -13.35187, 0.35319 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -65), -14.76554, 0.34938 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -60), -15.42208, 0.34567 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -55), -15.38746, 0.34224 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -50), -14.77719, 0.33914 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -45), -13.72632, 0.33638 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -40), -12.36048, 0.33396 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -35), -10.77692, 0.33186 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -30), -9.04285, 0.33009 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -25), -7.21046, 0.32865 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -20), -5.33822, 0.32755 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -15), -3.5034, 0.32676 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -10), -1.79552, 0.32624 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -5), -0.29255, 0.32595 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 0), 0.96673, 0.32581 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 5), 1.99577, 0.32579 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 10), 2.84781, 0.32587 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 15), 3.5824, 0.32604 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 20), 4.22982, 0.32632 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 25), 4.77463, 0.3267 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 30), 5.16805, 0.32712 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 35), 5.36196, 0.32747 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 40), 5.34392, 0.32761 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 45), 5.15149, 0.32741 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 50), 4.85588, 0.3268 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 55), 4.52502, 0.32584 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 60), 4.19035, 0.32461 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 65), 3.83777, 0.32326 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 70), 3.42441, 0.32189 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 75), 2.90606, 0.3206 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 80), 2.25622, 0.31942 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 85), 1.46723, 0.31842 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 90), 0.5384, 0.31762 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 95), -0.5344, 0.31704 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 100), -1.75468, 0.31667 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 105), -3.1053, 0.31645 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 110), -4.52448, 0.31633 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 115), -5.8964, 0.31625 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 120), -7.0685, 0.31622 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 125), -7.8904, 0.3163 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 130), -8.25456, 0.31661 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 135), -8.11866, 0.31724 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 140), -7.50353, 0.31826 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 145), -6.47388, 0.31968 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 150), -5.11452, 0.32148 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 155), -3.5128, 0.32362 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 160), -1.7514, 0.32605 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 165), 0.09045, 0.32869 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 170), 1.93443, 0.33148 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 175), 3.70567, 0.33431 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 180), 5.34248, 0.33706 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -180), 4.33213, 0.34176 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -175), 6.07696, 0.34412 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -170), 7.69379, 0.34623 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -165), 9.17721, 0.34802 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -160), 10.5265, 0.34948 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -155), 11.73393, 0.3507 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -150), 12.77673, 0.35181 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -145), 13.6168, 0.35298 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -140), 14.20744, 0.35437 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -135), 14.50263, 0.3561 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -130), 14.46264, 0.35825 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -125), 14.05277, 0.36087 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -120), 13.23615, 0.36397 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -115), 11.96661, 0.3675 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -110), 10.18993, 0.37132 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -105), 7.86063, 0.37515 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -100), 4.97458, 0.37853 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -95), 1.6078, 0.38084 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -90), -2.05929, 0.38152 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -85), -5.7547, 0.38024 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -80), -9.16979, 0.37713 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -75), -12.0322, 0.37272 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -70), -14.16082, 0.36767 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -65), -15.48365, 0.36261 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -60), -16.02506, 0.35793 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -55), -15.87814, 0.35383 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -50), -15.17354, 0.35033 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -45), -14.04978, 0.3474 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -40), -12.62926, 0.34495 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -35), -11.00482, 0.34293 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -30), -9.24086, 0.3413 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -25), -7.38715, 0.34004 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -20), -5.49675, 0.33914 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -15), -3.63683, 0.3386 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -10), -1.8847, 0.33838 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -5), -0.31005, 0.33842 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 0), 1.04666, 0.33866 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 5), 2.18645, 0.33903 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 10), 3.14572, 0.33948 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 15), 3.97314, 0.34 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 20), 4.70232, 0.34057 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 25), 5.33553, 0.34116 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 30), 5.84749, 0.34173 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 35), 6.20583, 0.34216 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 40), 6.39491, 0.34232 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 45), 6.42774, 0.3421 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 50), 6.33823, 0.34145 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 55), 6.15917, 0.34043 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 60), 5.90097, 0.33914 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 65), 5.54476, 0.33774 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 70), 5.05254, 0.33635 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 75), 4.38566, 0.33505 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 80), 3.51948, 0.3339 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 85), 2.44715, 0.33291 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 90), 1.17453, 0.33209 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 95), -0.2845, 0.33141 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 100), -1.90402, 0.33082 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 105), -3.6323, 0.33024 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 110), -5.37759, 0.32959 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 115), -7.0073, 0.32885 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 120), -8.36813, 0.32804 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 125), -9.32091, 0.32729 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 130), -9.77317, 0.32676 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 135), -9.69477, 0.32657 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 140), -9.1134, 0.32681 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 145), -8.09676, 0.32752 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 150), -6.73141, 0.32868 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 155), -5.10597, 0.33024 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 160), -3.30231, 0.33215 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 165), -1.39377, 0.33435 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 170), 0.55323, 0.33675 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 175), 2.47874, 0.33926 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 180), 4.33213, 0.34176 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -180), 3.4294, 0.34826 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -175), 5.40945, 0.35042 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -170), 7.30134, 0.35252 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -165), 9.0796, 0.35453 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -160), 10.71889, 0.35646 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -155), 12.18966, 0.35839 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -150), 13.45568, 0.36045 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -145), 14.47457, 0.36279 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -140), 15.20111, 0.36555 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -135), 15.59104, 0.36887 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -130), 15.60246, 0.37284 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -125), 15.19346, 0.37751 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -120), 14.31711, 0.38286 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -115), 12.91822, 0.38879 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -110), 10.93862, 0.39507 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -105), 8.33694, 0.4012 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -100), 5.12415, 0.40645 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -95), 1.40464, 0.40989 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -90), -2.60066, 0.4107 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -85), -6.57603, 0.40854 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -80), -10.18108, 0.40374 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -75), -13.1358, 0.39721 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -70), -15.27538, 0.39 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -65), -16.55722, 0.38298 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -60), -17.0347, 0.3767 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -55), -16.82048, 0.37138 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -50), -16.05281, 0.36703 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -45), -14.86898, 0.36356 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -40), -13.38729, 0.36081 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -35), -11.69883, 0.35868 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -30), -9.86999, 0.35708 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -25), -7.95353, 0.35595 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -20), -6.00191, 0.35527 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -15), -4.07538, 0.35501 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -10), -2.23973, 0.35512 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -5), -0.55437, 0.35554 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 0), 0.94291, 0.3562 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 5), 2.24572, 0.35702 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 10), 3.37661, 0.3579 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 15), 4.37258, 0.35879 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 20), 5.26552, 0.35966 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 25), 6.06794, 0.36047 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 30), 6.77084, 0.36116 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 35), 7.35318, 0.36164 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 40), 7.79554, 0.36184 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 45), 8.08881, 0.36166 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 50), 8.23261, 0.36111 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 55), 8.2254, 0.36025 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 60), 8.05408, 0.35918 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 65), 7.69058, 0.35806 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 70), 7.09798, 0.35699 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 75), 6.24227, 0.35605 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 80), 5.10302, 0.35525 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 85), 3.67894, 0.35455 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 90), 1.98829, 0.35388 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 95), 0.06902, 0.35315 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 100), -2.01709, 0.35223 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 105), -4.17715, 0.35101 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 110), -6.28372, 0.34943 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 115), -8.18414, 0.3475 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 120), -9.72483, 0.34537 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 125), -10.78205, 0.34324 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 130), -11.2852, 0.34136 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 135), -11.22387, 0.33991 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 140), -10.63904, 0.33899 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 145), -9.6054, 0.33865 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 150), -8.2123, 0.33886 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 155), -6.54864, 0.33958 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 160), -4.69404, 0.34074 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 165), -2.71616, 0.34227 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 170), -0.67181, 0.34409 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 175), 1.39057, 0.34612 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 180), 3.4294, 0.34826 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -180), 2.68618, 0.35867 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -175), 4.85711, 0.36068 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -170), 6.96916, 0.36289 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -165), 8.98664, 0.36531 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -160), 10.87064, 0.36798 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -155), 12.57826, 0.37098 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -150), 14.06287, 0.37444 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -145), 15.27532, 0.37851 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -140), 16.16547, 0.38334 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -135), 16.68316, 0.38908 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -130), 16.77732, 0.39584 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -125), 16.39316, 0.40368 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -120), 15.46876, 0.41259 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -115), 13.93513, 0.42237 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -110), 11.7255, 0.43261 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -105), 8.80005, 0.44248 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -100), 5.18704, 0.45074 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -95), 1.02843, 0.45593 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -90), -3.4001, 0.45682 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -85), -7.72638, 0.45307 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -80), -11.57399, 0.44542 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -75), -14.65963, 0.43541 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -70), -16.84189, 0.42467 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -65), -18.11155, 0.41445 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -60), -18.55042, 0.40547 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -55), -18.28751, 0.39799 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -50), -17.46562, 0.39199 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -45), -16.21946, 0.38731 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -40), -14.66362, 0.38374 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -35), -12.88871, 0.38111 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -30), -10.9646, 0.37925 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -25), -8.9485, 0.37805 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -20), -6.89385, 0.37746 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -15), -4.85569, 0.37739 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -10), -2.88945, 0.37779 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -5), -1.04384, 0.37856 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 0), 0.64867, 0.37962 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 5), 2.17825, 0.38084 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 10), 3.55693, 0.38212 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 15), 4.80985, 0.38337 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 20), 5.96232, 0.38453 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 25), 7.02839, 0.38556 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 30), 8.00579, 0.3864 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 35), 8.87795, 0.38704 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 40), 9.62019, 0.38742 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 45), 10.2052, 0.38756 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 50), 10.60479, 0.38748 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 55), 10.78797, 0.38728 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 60), 10.71821, 0.38707 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 65), 10.35363, 0.38695 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 70), 9.65167, 0.38701 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 75), 8.57731, 0.38723 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 80), 7.11225, 0.38754 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 85), 5.26279, 0.38777 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 90), 3.06569, 0.38769 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 95), 0.59247, 0.38704 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 100), -2.04762, 0.38559 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 105), -4.70908, 0.3832 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 110), -7.22069, 0.37987 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 115), -9.40741, 0.37582 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 120), -11.11891, 0.37139 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 125), -12.25402, 0.36698 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 130), -12.77216, 0.36295 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 135), -12.68971, 0.35954 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 140), -12.06597, 0.35688 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 145), -10.98518, 0.35502 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 150), -9.53988, 0.3539 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 155), -7.8184, 0.35346 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 160), -5.89757, 0.35363 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 165), -3.84038, 0.35431 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 170), -1.69736, 0.35542 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 175), 0.49014, 0.3569 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 180), 2.68618, 0.35867 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -180), 2.09451, 0.37642 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -175), 4.42071, 0.37845 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -170), 6.70669, 0.38103 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -165), 8.91394, 0.38419 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -160), 10.99907, 0.38801 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -155), 12.91386, 0.39261 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -150), 14.60594, 0.39814 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -145), 16.0197, 0.40479 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -140), 17.0967, 0.41275 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -135), 17.77509, 0.42222 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -130), 17.98763, 0.43338 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -125), 17.65885, 0.44635 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -120), 16.70307, 0.4611 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -115), 15.02752, 0.47733 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -110), 12.54689, 0.49428 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -105), 9.2164, 0.51049 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -100), 5.08442, 0.52378 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -95), 0.34682, 0.53163 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -90), -4.63897, 0.53216 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -85), -9.41967, 0.52511 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -80), -13.57325, 0.51215 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -75), -16.81934, 0.49595 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -70), -19.05229, 0.47912 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -65), -20.30589, 0.46343 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -60), -20.6951, 0.44981 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -55), -20.36702, 0.43854 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -50), -19.46995, 0.42954 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -45), -18.13723, 0.42253 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -40), -16.48077, 0.41723 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -35), -14.5907, 0.41334 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -30), -12.53908, 0.41062 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -25), -10.38575, 0.4089 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -20), -8.1839, 0.40801 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -15), -5.98342, 0.40784 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -10), -3.83049, 0.40827 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -5), -1.76398, 0.40918 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 0), 0.1895, 0.41044 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 5), 2.0188, 0.4119 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 10), 3.72763, 0.41345 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 15), 5.32929, 0.41498 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 20), 6.83844, 0.41642 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 25), 8.26283, 0.41774 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 30), 9.59783, 0.41893 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 35), 10.82482, 0.42001 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 40), 11.91282, 0.42104 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 45), 12.82131, 0.4221 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 50), 13.50258, 0.4233 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 55), 13.90321, 0.42476 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 60), 13.96517, 0.4266 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 65), 13.62822, 0.4289 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 70), 12.83482, 0.43166 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 75), 11.53814, 0.43473 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 80), 9.71323, 0.43782 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 85), 7.37038, 0.44044 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 90), 4.5686, 0.44199 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 95), 1.42515, 0.44185 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 100), -1.88483, 0.43956 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 105), -5.14433, 0.43499 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 110), -8.126, 0.42843 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 115), -10.63034, 0.42051 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 120), -12.51643, 0.41203 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 125), -13.71522, 0.40373 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 130), -14.22489, 0.39617 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 135), -14.09486, 0.38966 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 140), -13.40641, 0.38436 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 145), -12.25501, 0.38024 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 150), -10.73674, 0.37722 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 155), -8.93915, 0.37521 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 160), -6.93653, 0.37407 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 165), -4.78873, 0.3737 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 170), -2.54301, 0.37401 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 175), -0.2375, 0.37493 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 180), 2.09451, 0.37642 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -180), 1.58697, 0.4075 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -175), 4.04654, 0.40983 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -170), 6.47673, 0.41319 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -165), 8.84022, 0.41764 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -160), 11.0945, 0.42333 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -155), 13.19134, 0.43042 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -150), 15.07673, 0.43914 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -145), 16.69053, 0.44977 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -140), 17.96559, 0.46263 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -135), 18.82578, 0.47805 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -130), 19.1829, 0.49638 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -125), 18.9333, 0.51788 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -120), 17.95652, 0.54258 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -115), 16.12097, 0.57001 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -110), 13.30548, 0.59881 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -105), 9.44716, 0.62626 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -100), 4.61692, 0.64821 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -95), -0.90698, 0.65999 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -90), -6.63687, 0.65847 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -85), -11.99626, 0.64406 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -80), -16.50587, 0.6205 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -75), -19.90439, 0.59279 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -70), -22.14613, 0.56508 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -65), -23.32637, 0.5399 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -60), -23.60349, 0.51833 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -55), -23.14778, 0.50057 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -50), -22.11596, 0.48633 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -45), -20.64185, 0.47517 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -40), -18.83515, 0.46659 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -35), -16.78425, 0.46016 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -30), -14.56044, 0.45551 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -25), -12.22259, 0.45234 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -20), -9.82095, 0.45039 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -15), -7.39945, 0.44945 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -10), -4.99605, 0.44935 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -5), -2.64158, 0.4499 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 0), -0.35801, 0.45094 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 5), 1.84241, 0.45232 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 10), 3.9561, 0.45392 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 15), 5.98483, 0.45563 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 20), 7.93069, 0.45741 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 25), 9.79071, 0.45926 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 30), 11.55253, 0.46123 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 35), 13.1919, 0.46342 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 40), 14.67205, 0.46599 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 45), 15.94441, 0.4691 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 50), 16.94972, 0.47298 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 55), 17.61928, 0.47784 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 60), 17.87628, 0.48385 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 65), 17.63822, 0.4911 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 70), 16.8218, 0.49952 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 75), 15.3524, 0.50878 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 80), 13.18033, 0.51815 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 85), 10.30483, 0.52649 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 90), 6.80219, 0.53229 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 95), 2.84658, 0.53403 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 100), -1.29428, 0.53069 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 105), -5.30013, 0.52222 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 110), -8.8652, 0.50963 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 115), -11.75986, 0.49458 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 120), -13.85966, 0.47882 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 125), -15.1388, 0.46373 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 130), -15.64352, 0.45017 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 135), -15.46218, 0.43855 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 140), -14.70137, 0.42896 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 145), -13.46958, 0.42131 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 150), -11.86745, 0.41543 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 155), -9.98258, 0.4111 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 160), -7.88767, 0.40814 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 165), -5.64104, 0.4064 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 170), -3.28887, 0.40576 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 175), -0.86866, 0.40614 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 180), 1.58697, 0.4075 + 1);
}

TEST(GeoLookupTest, inclination)
{
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -180), -71.59756, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -175), -70.6118, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -170), -69.64105, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -165), -68.68619, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -160), -67.74666, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -155), -66.82024, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -150), -65.90202, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -145), -64.98313, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -140), -64.04986, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -135), -63.08382, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -130), -62.06352, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -125), -60.96709, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -120), -59.77578, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -115), -58.47816, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -110), -57.07454, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -105), -55.58149, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -100), -54.03582, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -95), -52.49676, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -90), -51.04528, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -85), -49.77894, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -80), -48.80176, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -75), -48.2091, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -70), -48.07001, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -65), -48.41119, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -60), -49.20823, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -55), -50.38792, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -50), -51.84141, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -45), -53.4437, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -40), -55.07268, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -35), -56.62288, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -30), -58.01163, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -25), -59.17909, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -20), -60.08489, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -15), -60.70512, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -10), -61.03211, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -5), -61.0775, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 0), -60.87693, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 5), -60.49317, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 10), -60.01462, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 15), -59.54727, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 20), -59.20039, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 25), -59.06954, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 30), -59.22228, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 35), -59.69102, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 40), -60.47396, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 45), -61.5418, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 50), -62.84713, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 55), -64.33376, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 60), -65.9445, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 65), -67.62691, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 70), -69.33634, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 75), -71.03641, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 80), -72.6969, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 85), -74.29005, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 90), -75.78639, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 95), -77.15163, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 100), -78.34601, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 105), -79.32703, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 110), -80.05599, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 115), -80.50725, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 120), -80.67638, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 125), -80.58199, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 130), -80.25946, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 135), -79.75049, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 140), -79.09478, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 145), -78.32602, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 150), -77.47165, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 155), -76.55412, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 160), -75.59242, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 165), -74.60304, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 170), -73.6002, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 175), -72.59551, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 180), -71.59756, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -180), -68.19965, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -175), -67.21642, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -170), -66.24088, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -165), -65.27416, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -160), -64.31671, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -155), -63.36906, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -150), -62.43095, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -145), -61.49931, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -140), -60.56619, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -135), -59.61767, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -130), -58.63408, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -125), -57.59149, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -120), -56.46436, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -115), -55.22956, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -110), -53.87257, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -105), -52.39549, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -100), -50.826, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -95), -49.2246, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -90), -47.68716, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -85), -46.34011, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -80), -45.32642, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -75), -44.78254, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -70), -44.80963, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -65), -45.44685, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -60), -46.6575, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -55), -48.33524, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -50), -50.32893, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -45), -52.47543, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -40), -54.62777, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -35), -56.67076, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -30), -58.52301, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -25), -60.12902, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -20), -61.4475, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -15), -62.44267, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -10), -63.08345, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -5), -63.35126, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 0), -63.2531, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 5), -62.83385, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 10), -62.1822, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 15), -61.42612, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 20), -60.71609, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 25), -60.19862, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 30), -59.98891, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 35), -60.15297, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 40), -60.70406, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 45), -61.61102, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 50), -62.8122, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 55), -64.23025, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 60), -65.78477, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 65), -67.4016, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 70), -69.01813, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 75), -70.58424, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 80), -72.05931, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 85), -73.40719, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 90), -74.59212, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 95), -75.57867, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 100), -76.33696, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 105), -76.85114, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 110), -77.12549, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 115), -77.18324, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 120), -77.0579, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 125), -76.78264, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 130), -76.38332, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 135), -75.87719, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 140), -75.27528, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 145), -74.58586, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 150), -73.81702, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 155), -72.97837, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 160), -72.08171, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 165), -71.141, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 170), -70.17135, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 175), -69.18708, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 180), -68.19965, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -180), -64.39872, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -175), -63.40139, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -170), -62.40643, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -165), -61.41316, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -160), -60.42056, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -155), -59.4298, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -150), -58.4443, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -145), -57.4674, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -140), -56.49929, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -135), -55.53443, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -130), -54.56007, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -125), -53.55543, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -120), -52.4918, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -115), -51.33498, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -110), -50.05231, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -105), -48.62511, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -100), -47.06479, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -95), -45.42768, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -90), -43.82281, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -85), -42.4078, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -80), -41.36993, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -75), -40.89256, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -70), -41.1117, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -65), -42.07568, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -60), -43.72616, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -55), -45.91252, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -50), -48.43408, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -45), -51.08984, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -40), -53.71556, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -35), -56.1989, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -30), -58.47445, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -25), -60.5053, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -20), -62.26079, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -15), -63.7001, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -10), -64.76907, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -5), -65.41194, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 0), -65.59307, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 5), -65.31931, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 10), -64.65489, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 15), -63.72455, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 20), -62.7018, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 25), -61.78025, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 30), -61.13401, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 35), -60.88279, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 40), -61.07558, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 45), -61.69463, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 50), -62.67238, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 55), -63.91266, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 60), -65.31057, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 65), -66.76785, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 70), -68.20218, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 75), -69.5494, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 80), -70.75988, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 85), -71.79265, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 90), -72.61247, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 95), -73.19366, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 100), -73.52916, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 105), -73.63739, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 110), -73.55959, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 115), -73.34676, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 120), -73.04348, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 125), -72.67715, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 130), -72.25639, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 135), -71.77671, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 140), -71.22862, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 145), -70.6039, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 150), -69.8987, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 155), -69.11442, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 160), -68.25787, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 165), -67.34126, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 170), -66.38107, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 175), -65.39513, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 180), -64.39872, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -180), -60.05512, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -175), -59.025, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -170), -57.99641, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -165), -56.96535, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -160), -55.9266, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -155), -54.87901, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -150), -53.82728, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -145), -52.77994, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -140), -51.74555, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -135), -50.72903, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -130), -49.72823, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -125), -48.73004, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -120), -47.70644, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -115), -46.61372, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -110), -45.39963, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -105), -44.02095, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -100), -42.46886, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -95), -40.79361, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -90), -39.11864, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -85), -37.63673, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -80), -36.58453, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -75), -36.19575, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -70), -36.64042, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -65), -37.96953, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -60), -40.09284, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -55), -42.80594, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -50), -45.85415, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -45), -48.99965, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -40), -52.0653, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -35), -54.94714, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -30), -57.60148, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -25), -60.01628, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -20), -62.1789, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -15), -64.05233, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -10), -65.56889, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -5), -66.6437, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 0), -67.2021, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 5), -67.20963, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 10), -66.69332, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 15), -65.7503, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 20), -64.54478, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 25), -63.28933, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 30), -62.20618, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 35), -61.47851, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 40), -61.21288, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 45), -61.42751, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 50), -62.06499, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 55), -63.01886, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 60), -64.1633, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 65), -65.37788, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 70), -66.56283, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 75), -67.64294, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 80), -68.56237, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 85), -69.27713, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 90), -69.7533, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 95), -69.97467, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 100), -69.95422, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 105), -69.73814, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 110), -69.39495, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 115), -68.99353, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 120), -68.58196, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 125), -68.17711, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 130), -67.768, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 135), -67.32849, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 140), -66.83112, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 145), -66.25588, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 150), -65.59211, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 155), -64.83692, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 160), -63.99413, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 165), -63.07475, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 170), -62.09704, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 175), -61.08354, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 180), -60.05512, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -180), -55.01307, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -175), -53.92817, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -170), -52.85094, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -165), -51.77345, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -160), -50.6839, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -155), -49.57557, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -150), -48.45111, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -145), -47.3215, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -140), -46.20201, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -135), -45.10775, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -130), -44.04862, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -125), -43.02176, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -120), -42.00244, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -115), -40.93885, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -110), -39.75903, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -105), -38.3948, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -100), -36.81801, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -95), -35.07619, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -90), -33.31258, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -85), -31.76066, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -80), -30.70961, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -75), -30.44236, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -70), -31.15702, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -65), -32.89848, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -60), -35.53689, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -55), -38.81063, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -50), -42.41127, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -45), -46.06507, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -40), -49.58032, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -35), -52.85667, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -30), -55.86588, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -25), -58.61603, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -20), -61.11236, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -15), -63.32827, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -10), -65.19627, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -5), -66.62078, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 0), -67.50706, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 5), -67.79418, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 10), -67.47892, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 15), -66.62544, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 20), -65.36662, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 25), -63.89889, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 30), -62.45977, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 35), -61.28119, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 40), -60.53383, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 45), -60.28981, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 50), -60.51978, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 55), -61.11984, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 60), -61.95175, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 65), -62.8797, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 70), -63.79269, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 75), -64.60908, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 80), -65.26801, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 85), -65.71931, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 90), -65.92359, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 95), -65.86549, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 100), -65.56986, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 105), -65.10474, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 110), -64.56324, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 115), -64.0319, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 120), -63.56218, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 125), -63.15873, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 130), -62.78797, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 135), -62.39972, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 140), -61.94894, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 145), -61.40707, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 150), -60.76129, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 155), -60.00832, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 160), -59.1508, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 165), -58.19883, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 170), -57.17271, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 175), -56.1011, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 180), -55.01307, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -180), -49.11676, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -175), -47.95017, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -170), -46.80684, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -165), -45.67522, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -160), -44.53511, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -155), -43.37104, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -150), -42.17998, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -145), -40.97181, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -140), -39.76547, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -135), -38.58421, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -130), -37.449, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -125), -36.36724, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -120), -35.31791, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -115), -34.24149, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -110), -33.0475, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -105), -31.64606, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -100), -29.99605, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -95), -28.15098, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -90), -26.28214, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -85), -24.66808, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -80), -23.64815, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -75), -23.54522, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -70), -24.57317, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -65), -26.76242, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -60), -29.94392, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -55), -33.80634, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -50), -37.99489, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -45), -42.20045, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -40), -46.20857, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -35), -49.90762, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -30), -53.268, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -25), -56.30455, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -20), -59.03488, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -15), -61.44738, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -10), -63.48927, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -5), -65.07658, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 0), -66.12001, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 5), -66.55513, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 10), -66.36463, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 15), -65.58801, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 20), -64.32535, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 25), -62.7414, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 30), -61.06027, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 35), -59.53304, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 40), -58.37751, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 45), -57.71834, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 50), -57.56196, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 55), -57.81707, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 60), -58.34287, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 65), -58.99757, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 70), -59.66719, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 75), -60.26863, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 80), -60.73599, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 85), -61.00773, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 90), -61.03034, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 95), -60.78, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 100), -60.2864, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 105), -59.63689, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 110), -58.95112, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 115), -58.3371, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 120), -57.85192, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 125), -57.48661, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 130), -57.18091, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 135), -56.85672, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 140), -56.4503, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 145), -55.92694, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 150), -55.27585, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 155), -54.49704, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 160), -53.59372, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 165), -52.57536, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 170), -51.46462, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 175), -50.29816, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 180), -49.11676, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -180), -42.23142, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -175), -40.95123, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -170), -39.72133, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -165), -38.52778, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -160), -37.34067, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -155), -36.13277, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -150), -34.89178, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -145), -33.62283, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -140), -32.34527, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -135), -31.08752, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -130), -29.87891, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -125), -28.73458, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -120), -27.63508, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -115), -26.51263, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -110), -25.26094, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -105), -23.77569, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -100), -22.01408, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -95), -20.04736, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -90), -18.08224, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -85), -16.44054, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -80), -15.49921, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -75), -15.60141, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -70), -16.95994, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -65), -19.58755, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -60), -23.28973, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -55), -27.72669, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -50), -32.51214, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -45), -37.30186, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -40), -41.845, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -35), -45.99718, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -30), -49.70523, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -25), -52.97412, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -20), -55.82711, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -15), -58.2725, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -10), -60.28771, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -5), -61.82331, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 0), -62.82079, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 5), -63.23334, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 10), -63.04196, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 15), -62.26661, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 20), -60.97784, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 25), -59.3106, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 30), -57.46972, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 35), -55.70772, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 40), -54.26646, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 45), -53.30509, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 50), -52.85743, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 55), -52.84457, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 60), -53.12823, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 65), -53.56854, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 70), -54.05656, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 75), -54.51327, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 80), -54.869, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 85), -55.04776, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 90), -54.97583, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 95), -54.61405, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 100), -53.99191, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 105), -53.21495, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 110), -52.43234, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 115), -51.77824, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 120), -51.31811, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 125), -51.02807, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 130), -50.81668, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 135), -50.57337, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 140), -50.21378, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 145), -49.69831, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 150), -49.0215, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 155), -48.18966, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 160), -47.20818, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 165), -46.08628, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 170), -44.84981, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 175), -43.54591, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 180), -42.23142, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -180), -34.27949, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -175), -32.85291, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -170), -31.5159, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -165), -30.254, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -160), -29.02682, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -155), -27.79264, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -150), -26.52633, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -145), -25.22512, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -140), -23.90608, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -135), -22.60022, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -130), -21.34193, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -125), -20.14987, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -120), -19.00231, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -115), -17.82244, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -110), -16.49302, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -105), -14.90633, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -100), -13.03165, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -95), -10.96847, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -90), -8.95966, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -85), -7.35758, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -80), -6.55238, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -75), -6.88056, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -70), -8.53807, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -65), -11.52613, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -60), -15.65085, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -55), -20.5757, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -50), -25.90324, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -45), -31.25528, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -40), -36.33002, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -35), -40.9288, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -30), -44.9546, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -25), -48.38863, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -20), -51.25524, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -15), -53.58837, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -10), -55.4103, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -5), -56.72564, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 0), -57.525, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 5), -57.79134, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 10), -57.508, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 15), -56.67344, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 20), -55.32637, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 25), -53.57435, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 30), -51.60858, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 35), -49.6841, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 40), -48.05793, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 45), -46.90785, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 50), -46.27984, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 55), -46.09793, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 60), -46.22394, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 65), -46.52302, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 70), -46.89696, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 75), -47.27638, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 80), -47.59104, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 85), -47.75067, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 90), -47.65869, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 95), -47.25639, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 100), -46.56916, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 105), -45.71909, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 110), -44.8864, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 115), -44.23485, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 120), -43.84052, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 125), -43.66377, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 130), -43.57855, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 135), -43.438, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 140), -43.13496, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 145), -42.6251, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 150), -41.90985, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 155), -41.00373, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 160), -39.9155, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 165), -38.65485, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 170), -37.25205, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 175), -35.7677, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 180), -34.27949, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -180), -25.29292, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -175), -23.69658, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -170), -22.23952, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -165), -20.9093, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -160), -19.65499, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -155), -18.41809, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -150), -17.15745, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -145), -15.85961, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -140), -14.5377, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -135), -13.22383, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -130), -11.9547, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -125), -10.74826, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -120), -9.57694, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -115), -8.35561, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -110), -6.9636, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -105), -5.30244, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -100), -3.36541, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -95), -1.28382, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -90), 0.67354, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -85), 2.14765, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -80), 2.76573, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -75), 2.22342, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -70), 0.3502, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -65), -2.85651, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -60), -7.23233, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -55), -12.47621, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -50), -18.20216, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -45), -24.0045, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -40), -29.52332, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -35), -34.4929, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -30), -38.76065, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -25), -42.27654, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -20), -45.06371, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -15), -47.18486, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -10), -48.71466, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -5), -49.72064, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 0), -50.2491, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 5), -50.31536, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 10), -49.9042, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 15), -48.98968, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 20), -47.57525, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 25), -45.74019, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 30), -43.66574, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 35), -41.61537, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 40), -39.86328, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 45), -38.60064, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 50), -37.87539, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 55), -37.60461, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 60), -37.64415, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 65), -37.86283, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 70), -38.17565, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 75), -38.52713, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 80), -38.85078, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 85), -39.04489, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 90), -38.99079, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 95), -38.6088, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 100), -37.91712, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 105), -37.05108, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 110), -36.22005, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 115), -35.61722, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 120), -35.33009, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 125), -35.30367, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 130), -35.37688, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 135), -35.36558, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 140), -35.1385, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 145), -34.64538, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 150), -33.89397, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 155), -32.90712, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 160), -31.69755, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 165), -30.2763, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 170), -28.67961, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 175), -26.98426, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 180), -25.29292, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -180), -15.46821, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -175), -13.70317, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -170), -12.1316, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -165), -10.74604, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -160), -9.48631, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -155), -8.27625, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -150), -7.05632, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -145), -5.80022, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -140), -4.51602, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -135), -3.23619, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -130), -1.99827, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -125), -0.81709, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -120), 0.34164, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -115), 1.56743, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -110), 2.975, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -105), 4.64277, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -100), 6.54835, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -95), 8.53545, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -90), 10.32916, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -85), 11.59147, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -80), 11.99322, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -75), 11.27756, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -70), 9.30017, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -65), 6.0458, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -60), 1.63128, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -55), -3.69853, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -50), -9.58962, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -45), -15.62529, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -40), -21.39758, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -35), -26.57813, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -30), -30.95983, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -25), -34.46002, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -20), -37.09692, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -15), -38.95681, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -10), -40.16154, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -5), -40.83719, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 0), -41.08263, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 5), -40.94376, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 10), -40.40652, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 15), -39.42076, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 20), -37.95452, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 25), -36.05812, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 30), -33.9027, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 35), -31.76097, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 40), -29.92486, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 45), -28.59749, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 50), -27.82551, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 55), -27.51503, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 60), -27.51231, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 65), -27.68738, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 70), -27.96814, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 75), -28.31535, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 80), -28.67086, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 85), -28.92706, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 90), -28.94805, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 95), -28.63531, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 100), -27.99802, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 105), -27.1791, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 110), -26.40957, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 115), -25.90606, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 120), -25.76558, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 125), -25.92043, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 130), -26.17964, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 135), -26.32587, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 140), -26.20466, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 145), -25.75756, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 150), -24.99541, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 155), -23.94725, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 160), -22.62944, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 165), -21.05534, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 170), -19.26842, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 175), -17.36295, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 180), -15.46821, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -180), -5.1888, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -175), -3.29277, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -170), -1.63822, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -165), -0.22562, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -160), 1.01095, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -155), 2.16342, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -150), 3.30989, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -145), 4.49069, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -140), 5.70391, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -135), 6.91734, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -130), 8.09324, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -125), 9.21954, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -120), 10.33398, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -115), 11.52332, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -110), 12.88723, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -105), 14.47845, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -100), 16.24899, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -95), 18.03211, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -90), 19.56865, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -85), 20.56326, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -80), 20.74429, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -75), 19.90627, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -70), 17.92848, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -65), 14.78079, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -60), 10.53299, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -55), 5.37147, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -50), -0.39459, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -45), -6.36256, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -40), -12.1067, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -35), -17.26194, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -30), -21.5822, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -25), -24.95546, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -20), -27.38729, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -15), -28.97239, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -10), -29.86247, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -5), -30.22766, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 0), -30.21083, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 5), -29.88629, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 10), -29.24357, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 15), -28.21305, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 20), -26.73159, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 25), -24.82204, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 30), -22.64275, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 35), -20.46924, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 40), -18.60351, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 45), -17.2556, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 50), -16.47055, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 55), -16.14634, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 60), -16.12168, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 65), -16.26715, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 70), -16.52139, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 75), -16.86118, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 80), -17.24097, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 85), -17.55588, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 90), -17.66266, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 95), -17.45092, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 100), -16.92088, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 105), -16.21473, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 110), -15.57116, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 115), -15.21699, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 120), -15.25357, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 125), -15.60606, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 130), -16.06568, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 135), -16.39293, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 140), -16.41443, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 145), -16.06099, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 150), -15.34076, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 155), -14.28429, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 160), -12.91018, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 165), -11.23469, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 170), -9.30874, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 175), -7.24243, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 180), -5.1888, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -180), 5.03033, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -175), 6.98395, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -170), 8.6673, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -165), 10.06922, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -160), 11.25552, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -155), 12.32832, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -150), 13.38098, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -145), 14.46728, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -140), 15.59246, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -135), 16.72604, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -130), 17.83033, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -125), 18.89349, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -120), 19.95065, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -115), 21.07737, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -110), 22.35181, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -105), 23.80111, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -100), 25.3607, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -95), 26.86876, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -90), 28.09775, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -85), 28.80497, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -80), 28.77808, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -75), 27.85952, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -70), 25.95119, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -65), 23.01593, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -60), 19.09236, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -55), 14.32197, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -50), 8.96679, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -45), 3.39043, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -40), -2.00446, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -35), -6.85759, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -30), -10.91202, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -25), -14.03554, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -20), -16.21289, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -15), -17.52754, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -10), -18.13721, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -5), -18.23531, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 0), -17.99585, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 5), -17.51824, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 10), -16.8004, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 15), -15.76256, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 20), -14.3197, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 25), -12.47118, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 30), -10.35776, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 35), -8.24456, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 40), -6.42777, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 45), -5.11417, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 50), -4.34739, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 55), -4.02487, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 60), -3.98541, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 65), -4.10198, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 70), -4.32061, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 75), -4.63088, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 80), -5.00244, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 85), -5.34344, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 90), -5.51777, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 95), -5.41492, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 100), -5.0286, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 105), -4.49054, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 110), -4.02837, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 115), -3.86074, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 120), -4.08577, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 125), -4.6291, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 130), -5.28175, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 135), -5.79909, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 140), -5.99721, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 145), -5.79448, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 150), -5.18921, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 155), -4.20705, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 160), -2.86599, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 165), -1.18481, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 170), 0.77989, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 175), 2.90776, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 180), 5.03033, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -180), 14.6788, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -175), 16.5977, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -170), 18.24639, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -165), 19.60114, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -160), 20.72055, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -155), 21.70821, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -150), 22.66602, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -145), 23.65819, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -140), 24.69771, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -135), 25.75791, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -130), 26.80185, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -125), 27.81503, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -120), 28.82363, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -115), 29.88528, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -110), 31.05363, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -105), 32.33392, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -100), 33.65429, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -95), 34.86839, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -90), 35.78673, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -85), 36.2188, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -80), 36.00564, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -75), 35.03204, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -70), 33.22454, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -65), 30.55243, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -60), 27.04458, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -55), 22.81695, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -50), 18.0895, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -45), 13.17039, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -40), 8.40421, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -35), 4.1058, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -30), 0.5107, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -25), -2.24435, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -20), -4.12181, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -15), -5.179, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -10), -5.55715, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -5), -5.44941, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 0), -5.04329, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 5), -4.45622, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 10), -3.69915, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 15), -2.69487, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 20), -1.35004, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 25), 0.35305, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 30), 2.29713, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 35), 4.24411, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 40), 5.92284, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 45), 7.14176, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 50), 7.85847, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 55), 8.16671, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 60), 8.21743, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 65), 8.13136, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 70), 7.95867, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 75), 7.70284, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 80), 7.37962, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 85), 7.05946, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 90), 6.85653, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 95), 6.86783, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 100), 7.10152, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 105), 7.44441, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 110), 7.69741, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 115), 7.66765, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 120), 7.26784, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 125), 6.56479, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 130), 5.75002, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 135), 5.05464, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 140), 4.66199, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 145), 4.66531, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 150), 5.08197, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 155), 5.89788, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 160), 7.09927, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 165), 8.66672, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 170), 10.54192, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 175), 12.60314, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 180), 14.6788, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -180), 23.39541, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -175), 25.19005, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -170), 26.74506, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -165), 28.02424, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -160), 29.0727, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -155), 29.98596, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -150), 30.86553, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -145), 31.78087, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -140), 32.75208, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -135), 33.75834, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -130), 34.76483, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -125), 35.75289, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -120), 36.73575, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -115), 37.74965, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -110), 38.8239, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -105), 39.94638, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -100), 41.04427, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -95), 41.99071, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -90), 42.63283, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -85), 42.8254, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -80), 42.45387, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -75), 41.44018, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -70), 39.73895, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -65), 37.33872, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -60), 34.27639, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -55), 30.65796, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -50), 26.66776, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -45), 22.55229, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -40), 18.5801, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -35), 14.99613, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -30), 11.9908, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -25), 9.68807, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -20), 8.14028, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -15), 7.31996, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -10), 7.11673, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -5), 7.35851, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 0), 7.86436, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 5), 8.51008, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 10), 9.2702, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 15), 10.20727, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 20), 11.4083, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 25), 12.90012, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 30), 14.59286, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 35), 16.28921, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 40), 17.75869, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 45), 18.83457, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 50), 19.47576, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 55), 19.75986, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 60), 19.81861, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 65), 19.76193, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 70), 19.63848, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 75), 19.45085, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 80), 19.20406, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 85), 18.94423, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 90), 18.75443, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 95), 18.70775, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 100), 18.80898, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 105), 18.9665, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 110), 19.01942, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 115), 18.81115, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 120), 18.27025, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 125), 17.45232, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 130), 16.52008, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 135), 15.67708, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 140), 15.09543, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 145), 14.87603, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 150), 15.0539, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 155), 15.63052, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 160), 16.59965, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 165), 17.94389, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 170), 19.6083, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 175), 21.47936, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 180), 23.39541, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -180), 31.03405, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -175), 32.63251, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -170), 34.04613, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -165), 35.22934, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -160), 36.21053, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -155), 37.06918, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -150), 37.89726, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -145), 38.76273, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -140), 39.69043, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -135), 40.66626, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -130), 41.65923, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -125), 42.64698, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -120), 43.6292, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -115), 44.62097, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -110), 45.6297, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -105), 46.62987, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -100), 47.5506, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -95), 48.28356, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -90), 48.70656, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -85), 48.71027, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -80), 48.21547, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -75), 47.17664, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -70), 45.57849, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -65), 43.43627, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -60), 40.80425, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -55), 37.78606, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -50), 34.53508, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -45), 31.23801, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -40), 28.08673, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -35), 25.25237, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -30), 22.87213, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -25), 21.04568, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -20), 19.82864, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -15), 19.21717, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -10), 19.13502, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -5), 19.44382, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 0), 19.98566, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 5), 20.64193, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 10), 21.37516, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 15), 22.22621, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 20), 23.26466, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 25), 24.51844, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 30), 25.92447, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 35), 27.3319, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 40), 28.55858, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 45), 29.46801, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 50), 30.0216, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 55), 30.27783, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 60), 30.34415, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 65), 30.31575, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 70), 30.23968, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 75), 30.12138, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 80), 29.96002, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 85), 29.78013, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 90), 29.63275, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 95), 29.56339, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 100), 29.56948, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 105), 29.57873, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 110), 29.4683, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 115), 29.1192, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 120), 28.47744, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 125), 27.58766, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 130), 26.5813, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 135), 25.6287, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 140), 24.88368, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 145), 24.44902, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 150), 24.37455, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 155), 24.67722, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 160), 25.35954, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 165), 26.40836, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 170), 27.7762, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 175), 29.36516, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 180), 31.03405, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -180), 37.63679, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -175), 38.99087, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -170), 40.22868, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -165), 41.30112, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -160), 42.22048, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -155), 43.04555, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -150), 43.85113, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -145), 44.69658, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -140), 45.60714, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -135), 46.57449, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -130), 47.57254, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -125), 48.57705, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -120), 49.57659, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -115), 50.56833, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -110), 51.54183, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -105), 52.46154, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -100), 53.2592, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -95), 53.84156, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -90), 54.10987, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -85), 53.98167, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -80), 53.40512, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -75), 52.36256, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -70), 50.86753, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -65), 48.96236, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -60), 46.71921, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -55), 44.24021, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -50), 41.65109, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -45), 39.08648, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -40), 36.67299, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -35), 34.51877, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -30), 32.71291, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -25), 31.32769, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -20), 30.41265, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -15), 29.97728, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -10), 29.97418, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -5), 30.30116, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 0), 30.83175, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 5), 31.46207, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 10), 32.14782, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 15), 32.90761, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 20), 33.78865, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 25), 34.81393, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 30), 35.94238, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 35), 37.06714, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 40), 38.05419, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 45), 38.79883, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 50), 39.26723, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 55), 39.49996, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 60), 39.57918, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 65), 39.58276, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 70), 39.55396, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 75), 39.50149, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 80), 39.42226, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 85), 39.32479, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 90), 39.23314, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 95), 39.16762, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 100), 39.1168, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 105), 39.02276, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 110), 38.79423, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 115), 38.34486, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 120), 37.63703, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 125), 36.70727, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 130), 35.6598, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 135), 34.63348, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 140), 33.76136, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 145), 33.14248, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 150), 32.83561, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 155), 32.8693, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 160), 33.25358, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 165), 33.98024, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 170), 35.01131, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 175), 36.26832, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 180), 37.63679, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -180), 43.36506, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -175), 44.45264, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -170), 45.49548, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -165), 46.44775, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -160), 47.3094, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -155), 48.11772, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -150), 48.92577, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -145), 49.77821, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -140), 50.69555, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -135), 51.6723, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -130), 52.68692, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -125), 53.71528, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -120), 54.73868, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -115), 55.74146, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -110), 56.70039, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -105), 57.57311, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -100), 58.29399, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -95), 58.78117, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -90), 58.95297, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -85), 58.74654, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -80), 58.13103, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -75), 57.11146, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -70), 55.72533, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -65), 54.03663, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -60), 52.12983, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -55), 50.10286, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -50), 48.05725, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -45), 46.08691, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -40), 44.27011, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -35), 42.66918, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -30), 41.33663, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -25), 40.32029, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -20), 39.65853, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -15), 39.36488, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -10), 39.41177, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -5), 39.72823, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 0), 40.21939, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 5), 40.80034, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 10), 41.42549, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 15), 42.09526, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 20), 42.83544, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 25), 43.66101, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 30), 44.54672, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 35), 45.42245, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 40), 46.19689, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 45), 46.79581, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 50), 47.19248, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 55), 47.4132, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 60), 47.51679, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 65), 47.56263, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 70), 47.58715, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 75), 47.60012, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 80), 47.59752, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 85), 47.57718, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 90), 47.54339, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 95), 47.49676, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 100), 47.41773, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 105), 47.25803, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 110), 46.95009, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 115), 46.43329, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 120), 45.68427, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 125), 44.73506, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 130), 43.66934, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 135), 42.59991, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 140), 41.63976, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 145), 40.88002, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 150), 40.38181, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 155), 40.17979, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 160), 40.28877, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 165), 40.70488, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 170), 41.3999, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 175), 42.31525, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 180), 43.36506, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -180), 48.43783, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -175), 49.264, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -170), 50.11081, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -165), 50.94098, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -160), 51.74714, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -155), 52.54768, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -150), 53.37326, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -145), 54.2506, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -140), 55.19112, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -135), 56.18845, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -130), 57.22378, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -125), 58.27407, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -120), 59.31695, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -115), 60.32919, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -110), 61.27983, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -105), 62.12303, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -100), 62.79604, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -95), 63.22583, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -90), 63.34338, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -85), 63.10052, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -80), 62.4824, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -75), 61.51116, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -70), 60.24113, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -65), 58.74936, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -60), 57.12485, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -55), 55.45787, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -50), 53.82987, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -45), 52.3061, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -40), 50.93356, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -35), 49.74568, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -30), 48.7708, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -25), 48.03764, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -20), 47.57214, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -15), 47.38554, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -10), 47.4614, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -5), 47.75178, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 0), 48.18856, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 5), 48.7058, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 10), 49.26096, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 15), 49.84249, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 20), 50.4592, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 25), 51.11808, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 30), 51.80427, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 35), 52.47576, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 40), 53.07615, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 45), 53.55805, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 50), 53.90327, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 55), 54.12801, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 60), 54.27124, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 65), 54.37421, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 70), 54.46373, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 75), 54.54731, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 80), 54.61932, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 85), 54.67041, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 90), 54.69152, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 95), 54.66954, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 100), 54.57896, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 105), 54.37822, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 110), 54.0172, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 115), 53.45521, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 120), 52.6813, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 125), 51.72621, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 130), 50.65947, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 135), 49.57366, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 140), 48.5637, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 145), 47.71011, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 150), 47.07094, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 155), 46.68181, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 160), 46.55945, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 165), 46.70341, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 170), 47.09442, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 175), 47.69219, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 180), 48.43783, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -180), 53.08748, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -175), 53.6828, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -170), 54.35112, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -165), 55.06582, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -160), 55.81669, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -155), 56.60799, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -150), 57.45119, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -145), 58.3557, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -140), 59.32209, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -135), 60.3402, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -130), 61.39171, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -125), 62.45435, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -120), 63.50425, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -115), 64.5145, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -110), 65.4506, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -105), 66.26594, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -100), 66.90137, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -95), 67.29152, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -90), 67.37774, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -85), 67.12363, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -80), 66.52667, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -75), 65.62072, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -70), 64.46937, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -65), 63.154, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -60), 61.761, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -55), 60.37047, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -50), 59.04801, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -45), 57.84049, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -40), 56.77728, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -35), 55.87625, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -30), 55.15161, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -25), 54.61866, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -20), 54.29202, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -15), 54.17762, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -10), 54.26375, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -5), 54.51753, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 0), 54.89106, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 5), 55.33494, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 10), 55.8124, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 15), 56.30605, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 20), 56.81371, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 25), 57.33634, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 30), 57.8658, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 35), 58.38013, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 40), 58.84924, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 45), 59.24738, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 50), 59.56473, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 55), 59.81107, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 60), 60.00963, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 65), 60.18516, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 70), 60.35326, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 75), 60.51605, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 80), 60.66451, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 85), 60.78368, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 90), 60.85563, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 95), 60.85851, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 100), 60.76353, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 105), 60.53487, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 110), 60.13617, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 115), 59.54291, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 120), 58.75537, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 125), 57.80541, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 130), 56.75326, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 135), 55.67588, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 140), 54.65222, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 145), 53.75079, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 150), 53.02297, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 155), 52.50177, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 160), 52.20379, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 165), 52.13127, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 170), 52.27281, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 175), 52.60359, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 180), 53.08748, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -180), 57.52187, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -175), 57.93488, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -170), 58.45601, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -165), 59.06833, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -160), 59.76162, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -155), 60.5315, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -150), 61.37602, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -145), 62.29136, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -140), 63.26872, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -135), 64.29336, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -130), 65.34587, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -125), 66.40392, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -120), 67.44285, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -115), 68.43411, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -110), 69.34202, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -105), 70.12095, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -100), 70.71588, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -95), 71.06867, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -90), 71.13009, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -85), 70.87414, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -80), 70.30805, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -75), 69.47288, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -70), 68.43507, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -65), 67.27348, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -60), 66.06682, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -55), 64.88402, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -50), 63.77832, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -45), 62.78554, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -40), 61.92634, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -35), 61.21158, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -30), 60.64827, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -25), 60.24318, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -20), 60.0021, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -15), 59.92531, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -10), 60.00224, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -5), 60.20916, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 0), 60.51235, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 5), 60.87577, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 10), 61.2697, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 15), 61.67589, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 20), 62.08694, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 25), 62.5006, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 30), 62.91315, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 35), 63.3159, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 40), 63.69677, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 45), 64.0455, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 50), 64.35905, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 55), 64.64328, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 60), 64.9098, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 65), 65.1696, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 70), 65.42703, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 75), 65.67682, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 80), 65.90479, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 85), 66.09057, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 90), 66.20998, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 95), 66.23593, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 100), 66.13884, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 105), 65.88895, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 110), 65.46202, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 115), 64.84766, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 120), 64.05667, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 125), 63.12344, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 130), 62.10198, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 135), 61.05689, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 140), 60.05291, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 145), 59.14639, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 150), 58.38033, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 155), 57.78331, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 160), 57.37074, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 165), 57.14702, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 170), 57.10724, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 175), 57.23855, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 180), 57.52187, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -180), 61.88788, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -175), 62.17254, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -170), 62.58222, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -165), 63.10695, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -160), 63.73781, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -155), 64.46649, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -150), 65.28395, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -145), 66.1789, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -140), 67.13681, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -135), 68.13983, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -130), 69.16736, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -125), 70.1966, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -120), 71.20222, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -115), 72.15474, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -110), 73.01815, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -105), 73.74823, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -100), 74.29393, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -95), 74.60376, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -90), 74.63739, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -85), 74.37843, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -80), 73.84219, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -75), 73.07374, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -70), 72.13796, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -65), 71.10688, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -60), 70.04894, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -55), 69.02182, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -50), 68.069, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -45), 67.21939, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -40), 66.48962, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -35), 65.88798, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -30), 65.41835, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -25), 65.08268, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -20), 64.88099, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -15), 64.80933, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -10), 64.85718, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -5), 65.0065, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 0), 65.23333, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 5), 65.51202, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 10), 65.82016, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 15), 66.14205, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 20), 66.46943, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 25), 66.79942, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 30), 67.1313, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 35), 67.4642, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 40), 67.79667, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 45), 68.12785, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 50), 68.45894, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 55), 68.79324, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 60), 69.13433, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 65), 69.48283, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 70), 69.83337, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 75), 70.17292, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 80), 70.48118, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 85), 70.73227, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 90), 70.89702, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 95), 70.94525, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 100), 70.84847, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 105), 70.58364, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 110), 70.13803, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 115), 69.51417, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 120), 68.73253, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 125), 67.83042, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 130), 66.85723, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 135), 65.86734, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 140), 64.91312, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 145), 64.03949, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 150), 63.28103, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 155), 62.66134, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 160), 62.19425, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 165), 61.88567, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 170), 61.73544, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 175), 61.73885, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 180), 61.88788, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -180), 66.24788, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -175), 66.45074, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -170), 66.77961, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -165), 67.22851, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -160), 67.79016, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -155), 68.45556, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -150), 69.21362, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -145), 70.05077, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -140), 70.95094, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -135), 71.89569, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -130), 72.86449, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -125), 73.8347, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -120), 74.78076, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -115), 75.6727, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -110), 76.47438, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -105), 77.14263, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -100), 77.62941, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -95), 77.88882, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -90), 77.88845, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -85), 77.62088, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -80), 77.1084, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -75), 76.39817, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -70), 75.55104, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -65), 74.63018, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -60), 73.69287, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -55), 72.78611, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -50), 71.94506, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -45), 71.19354, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -40), 70.54585, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -35), 70.00932, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -30), 69.58671, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -25), 69.27779, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -20), 69.07975, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -15), 68.98664, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -10), 68.98862, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -5), 69.07179, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 0), 69.21932, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 5), 69.41368, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 10), 69.63926, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 15), 69.8846, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 20), 70.1432, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 25), 70.41309, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 30), 70.69544, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 35), 70.99306, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 40), 71.30935, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 45), 71.64763, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 50), 72.01066, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 55), 72.39975, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 60), 72.81332, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 65), 73.24513, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 70), 73.68275, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 75), 74.10675, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 80), 74.49112, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 85), 74.80479, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 90), 75.01431, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 95), 75.0875, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 100), 74.99787, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 105), 74.72934, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 110), 74.28004, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 115), 73.66401, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 120), 72.90998, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 125), 72.05754, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 130), 71.152, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 135), 70.23908, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 140), 69.36061, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 145), 68.55164, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 150), 67.83914, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 155), 67.2421, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 160), 66.77254, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 165), 66.43702, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 170), 66.23817, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 175), 66.17583, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 180), 66.24788, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -180), 70.58113, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -175), 70.73344, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -170), 71.00121, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -165), 71.38042, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -160), 71.8652, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -155), 72.44762, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -150), 73.11748, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -145), 73.86235, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -140), 74.66764, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -135), 75.51673, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -130), 76.3909, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -125), 77.26894, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -120), 78.12621, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -115), 78.9332, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -110), 79.65403, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -105), 80.24625, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -100), 80.66372, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -95), 80.86461, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -90), 80.8234, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -85), 80.541, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -80), 80.04607, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -75), 79.38667, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -70), 78.61832, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -65), 77.79449, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -60), 76.96131, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -55), 76.1557, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -50), 75.4052, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -45), 74.72896, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -40), 74.13906, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -35), 73.64208, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -30), 73.24045, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -25), 72.93349, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -20), 72.71791, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -15), 72.58801, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -10), 72.53576, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -5), 72.55115, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 0), 72.62301, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 5), 72.74018, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 10), 72.89296, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 15), 73.07423, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 20), 73.28015, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 25), 73.51006, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 30), 73.76597, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 35), 74.05157, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 40), 74.37118, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 45), 74.72867, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 50), 75.12635, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 55), 75.56374, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 60), 76.03634, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 65), 76.53433, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 70), 77.04155, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 75), 77.5349, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 80), 77.98463, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 85), 78.3558, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 90), 78.61145, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 95), 78.71757, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 100), 78.64937, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 105), 78.39682, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 110), 77.96735, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 115), 77.38435, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 120), 76.68261, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 125), 75.90263, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 130), 75.08559, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 135), 74.26975, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 140), 73.48826, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 145), 72.76813, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 150), 72.13007, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 155), 71.58903, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 160), 71.15512, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 165), 70.83468, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 170), 70.63132, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 175), 70.54674, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 180), 70.58113, 0.21 + 1.2);
}

TEST(GeoLookupTest, strength)
{
	EXPECT_NEAR(get_mag_strength_tesla(-50, -180) * 1e9, 58456.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -175) * 1e9, 57315.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -170) * 1e9, 56161, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -165) * 1e9, 55002, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -160) * 1e9, 53844.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -155) * 1e9, 52691, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -150) * 1e9, 51540.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -145) * 1e9, 50387.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -140) * 1e9, 49218.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -135) * 1e9, 48019.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -130) * 1e9, 46772.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -125) * 1e9, 45459.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -120) * 1e9, 44068.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -115) * 1e9, 42592.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -110) * 1e9, 41037.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -105) * 1e9, 39414.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -100) * 1e9, 37750, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -95) * 1e9, 36075.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -90) * 1e9, 34431, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -85) * 1e9, 32860.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -80) * 1e9, 31408.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -75) * 1e9, 30113.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -70) * 1e9, 29004.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -65) * 1e9, 28095.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -60) * 1e9, 27385.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -55) * 1e9, 26854.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -50) * 1e9, 26471, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -45) * 1e9, 26194.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -40) * 1e9, 25985.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -35) * 1e9, 25809.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -30) * 1e9, 25643.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -25) * 1e9, 25476.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -20) * 1e9, 25310.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -15) * 1e9, 25158.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -10) * 1e9, 25048.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -5) * 1e9, 25013.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 0) * 1e9, 25098.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 5) * 1e9, 25350.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 10) * 1e9, 25816.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 15) * 1e9, 26537.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 20) * 1e9, 27542.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 25) * 1e9, 28842.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 30) * 1e9, 30432.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 35) * 1e9, 32291.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 40) * 1e9, 34383.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 45) * 1e9, 36665.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 50) * 1e9, 39088.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 55) * 1e9, 41601.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 60) * 1e9, 44155.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 65) * 1e9, 46706.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 70) * 1e9, 49214.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 75) * 1e9, 51645.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 80) * 1e9, 53967.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 85) * 1e9, 56147.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 90) * 1e9, 58156.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 95) * 1e9, 59966.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 100) * 1e9, 61549.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 105) * 1e9, 62888, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 110) * 1e9, 63968.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 115) * 1e9, 64789.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 120) * 1e9, 65353.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 125) * 1e9, 65673.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 130) * 1e9, 65766, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 135) * 1e9, 65649, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 140) * 1e9, 65342.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 145) * 1e9, 64867.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 150) * 1e9, 64244.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 155) * 1e9, 63491.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 160) * 1e9, 62628.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 165) * 1e9, 61676, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 170) * 1e9, 60651.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 175) * 1e9, 59573.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 180) * 1e9, 58456.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -180) * 1e9, 56293.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -175) * 1e9, 55097, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -170) * 1e9, 53892.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -165) * 1e9, 52687.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -160) * 1e9, 51489.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -155) * 1e9, 50302.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -150) * 1e9, 49127.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -145) * 1e9, 47958.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -140) * 1e9, 46786.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -135) * 1e9, 45594.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -130) * 1e9, 44364.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -125) * 1e9, 43074.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -120) * 1e9, 41708.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -115) * 1e9, 40258.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -110) * 1e9, 38721.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -105) * 1e9, 37109.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -100) * 1e9, 35442.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -95) * 1e9, 33755, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -90) * 1e9, 32089.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -85) * 1e9, 30497.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -80) * 1e9, 29033.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -75) * 1e9, 27747.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -70) * 1e9, 26680.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -65) * 1e9, 25853.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -60) * 1e9, 25263.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -55) * 1e9, 24885, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -50) * 1e9, 24672.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -45) * 1e9, 24573.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -40) * 1e9, 24532.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -35) * 1e9, 24507.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -30) * 1e9, 24467.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -25) * 1e9, 24397.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -20) * 1e9, 24297, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -15) * 1e9, 24176.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -10) * 1e9, 24058.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -5) * 1e9, 23977.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 0) * 1e9, 23981.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 5) * 1e9, 24129.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 10) * 1e9, 24484.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 15) * 1e9, 25107.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 20) * 1e9, 26044.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 25) * 1e9, 27321.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 30) * 1e9, 28936.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 35) * 1e9, 30868.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 40) * 1e9, 33070.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 45) * 1e9, 35487.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 50) * 1e9, 38054.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 55) * 1e9, 40706, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 60) * 1e9, 43379.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 65) * 1e9, 46023.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 70) * 1e9, 48592, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 75) * 1e9, 51051.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 80) * 1e9, 53370.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 85) * 1e9, 55523.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 90) * 1e9, 57480.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 95) * 1e9, 59216.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 100) * 1e9, 60709.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 105) * 1e9, 61942.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 110) * 1e9, 62910.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 115) * 1e9, 63616.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 120) * 1e9, 64069.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 125) * 1e9, 64286.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 130) * 1e9, 64284.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 135) * 1e9, 64082.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 140) * 1e9, 63700.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 145) * 1e9, 63155.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 150) * 1e9, 62465.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 155) * 1e9, 61647.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 160) * 1e9, 60720, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 165) * 1e9, 59701.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 170) * 1e9, 58611.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 175) * 1e9, 57469.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 180) * 1e9, 56293.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -180) * 1e9, 53944.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -175) * 1e9, 52719.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -170) * 1e9, 51489.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -165) * 1e9, 50262.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -160) * 1e9, 49044.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -155) * 1e9, 47839.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -150) * 1e9, 46650.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -145) * 1e9, 45476.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -140) * 1e9, 44310.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -135) * 1e9, 43137.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -130) * 1e9, 41940.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -125) * 1e9, 40699, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -120) * 1e9, 39395.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -115) * 1e9, 38017.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -110) * 1e9, 36557, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -105) * 1e9, 35018.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -100) * 1e9, 33417.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -95) * 1e9, 31782.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -90) * 1e9, 30156.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -85) * 1e9, 28596.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -80) * 1e9, 27167.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -75) * 1e9, 25930.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -70) * 1e9, 24936.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -65) * 1e9, 24212.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -60) * 1e9, 23758.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -55) * 1e9, 23538.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -50) * 1e9, 23496.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -45) * 1e9, 23567.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -40) * 1e9, 23688.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -35) * 1e9, 23811.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -30) * 1e9, 23905.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -25) * 1e9, 23955.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -20) * 1e9, 23957.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -15) * 1e9, 23914.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -10) * 1e9, 23841.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -5) * 1e9, 23761.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 0) * 1e9, 23719, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 5) * 1e9, 23773.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 10) * 1e9, 24002.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 15) * 1e9, 24485, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 20) * 1e9, 25291.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 25) * 1e9, 26468.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 30) * 1e9, 28028.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 35) * 1e9, 29951.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 40) * 1e9, 32189.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 45) * 1e9, 34672.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 50) * 1e9, 37321, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 55) * 1e9, 40051.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 60) * 1e9, 42786.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 65) * 1e9, 45463, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 70) * 1e9, 48030.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 75) * 1e9, 50453.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 80) * 1e9, 52704.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 85) * 1e9, 54758.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 90) * 1e9, 56592.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 95) * 1e9, 58185, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 100) * 1e9, 59519.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 105) * 1e9, 60588.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 110) * 1e9, 61396.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 115) * 1e9, 61955.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 120) * 1e9, 62282.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 125) * 1e9, 62396.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 130) * 1e9, 62314.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 135) * 1e9, 62051.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 140) * 1e9, 61621.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 145) * 1e9, 61039, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 150) * 1e9, 60316, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 155) * 1e9, 59466.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 160) * 1e9, 58506.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 165) * 1e9, 57454.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 170) * 1e9, 56329.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 175) * 1e9, 55153, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 180) * 1e9, 53944.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -180) * 1e9, 51438.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -175) * 1e9, 50211.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -170) * 1e9, 48982.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -165) * 1e9, 47757.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -160) * 1e9, 46540.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -155) * 1e9, 45336.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -150) * 1e9, 44149.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -145) * 1e9, 42981.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -140) * 1e9, 41830.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -135) * 1e9, 40687.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -130) * 1e9, 39537.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -125) * 1e9, 38364.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -120) * 1e9, 37151.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -115) * 1e9, 35883.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -110) * 1e9, 34546.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -105) * 1e9, 33136.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -100) * 1e9, 31658.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -95) * 1e9, 30134.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -90) * 1e9, 28605.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -85) * 1e9, 27129.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -80) * 1e9, 25778.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -75) * 1e9, 24624.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -70) * 1e9, 23726.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -65) * 1e9, 23117.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -60) * 1e9, 22794.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -55) * 1e9, 22716.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -50) * 1e9, 22820.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -45) * 1e9, 23031.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -40) * 1e9, 23287, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -35) * 1e9, 23540.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -30) * 1e9, 23766.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -25) * 1e9, 23955, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -20) * 1e9, 24099.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -15) * 1e9, 24194.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -10) * 1e9, 24237.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -5) * 1e9, 24235.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 0) * 1e9, 24215.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 5) * 1e9, 24229.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 10) * 1e9, 24356.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 15) * 1e9, 24691.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 20) * 1e9, 25326.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 25) * 1e9, 26332.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 30) * 1e9, 27745.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 35) * 1e9, 29560.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 40) * 1e9, 31733.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 45) * 1e9, 34191.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 50) * 1e9, 36838, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 55) * 1e9, 39574.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 60) * 1e9, 42306.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 65) * 1e9, 44958.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 70) * 1e9, 47471.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 75) * 1e9, 49808.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 80) * 1e9, 51941, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 85) * 1e9, 53846.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 90) * 1e9, 55504, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 95) * 1e9, 56897.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 100) * 1e9, 58018.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 105) * 1e9, 58875.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 110) * 1e9, 59485.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 115) * 1e9, 59874.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 120) * 1e9, 60067.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 125) * 1e9, 60084.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 130) * 1e9, 59937.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 135) * 1e9, 59633.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 140) * 1e9, 59179.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 145) * 1e9, 58582.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 150) * 1e9, 57851.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 155) * 1e9, 56997, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 160) * 1e9, 56031.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 165) * 1e9, 54971.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 170) * 1e9, 53837.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 175) * 1e9, 52653.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 180) * 1e9, 51438.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -180) * 1e9, 48791.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -175) * 1e9, 47588.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -170) * 1e9, 46386.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -165) * 1e9, 45190.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -160) * 1e9, 44002.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -155) * 1e9, 42823.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -150) * 1e9, 41660.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -145) * 1e9, 40518.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -140) * 1e9, 39399.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -135) * 1e9, 38300.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -130) * 1e9, 37213.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -125) * 1e9, 36126.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -120) * 1e9, 35025.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -115) * 1e9, 33894.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -110) * 1e9, 32714.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -105) * 1e9, 31471.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -100) * 1e9, 30159.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -95) * 1e9, 28791.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -90) * 1e9, 27405.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -85) * 1e9, 26058.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -80) * 1e9, 24826.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -75) * 1e9, 23784.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -70) * 1e9, 22997, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -65) * 1e9, 22499.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -60) * 1e9, 22288.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -55) * 1e9, 22321.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -50) * 1e9, 22530.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -45) * 1e9, 22843.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -40) * 1e9, 23199, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -35) * 1e9, 23561.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -30) * 1e9, 23914.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -25) * 1e9, 24254.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -20) * 1e9, 24573, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -15) * 1e9, 24855.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -10) * 1e9, 25079.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -5) * 1e9, 25229, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 0) * 1e9, 25307.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 5) * 1e9, 25350.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 10) * 1e9, 25430.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 15) * 1e9, 25643.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 20) * 1e9, 26094.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 25) * 1e9, 26878.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 30) * 1e9, 28061.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 35) * 1e9, 29664.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 40) * 1e9, 31662.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 45) * 1e9, 33984.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 50) * 1e9, 36530.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 55) * 1e9, 39185.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 60) * 1e9, 41841.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 65) * 1e9, 44407.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 70) * 1e9, 46818, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 75) * 1e9, 49029.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 80) * 1e9, 51010.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 85) * 1e9, 52737.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 90) * 1e9, 54186.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 95) * 1e9, 55346.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 100) * 1e9, 56220.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 105) * 1e9, 56832.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 110) * 1e9, 57221.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 115) * 1e9, 57428.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 120) * 1e9, 57488.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 125) * 1e9, 57418.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 130) * 1e9, 57220.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 135) * 1e9, 56891.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 140) * 1e9, 56428.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 145) * 1e9, 55831.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 150) * 1e9, 55108.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 155) * 1e9, 54265.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 160) * 1e9, 53315.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 165) * 1e9, 52271.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 170) * 1e9, 51153.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 175) * 1e9, 49985.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 180) * 1e9, 48791.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -180) * 1e9, 46029.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -175) * 1e9, 44879.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -170) * 1e9, 43735.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -165) * 1e9, 42598.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -160) * 1e9, 41469, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -155) * 1e9, 40347.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -150) * 1e9, 39239.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -145) * 1e9, 38152.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -140) * 1e9, 37091.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -135) * 1e9, 36060.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -130) * 1e9, 35056.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -125) * 1e9, 34073.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -120) * 1e9, 33102.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -115) * 1e9, 32125.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -110) * 1e9, 31120.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -105) * 1e9, 30065.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -100) * 1e9, 28946.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -95) * 1e9, 27767.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -90) * 1e9, 26559.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -85) * 1e9, 25377.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -80) * 1e9, 24293.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -75) * 1e9, 23384.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -70) * 1e9, 22710.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -65) * 1e9, 22310.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -60) * 1e9, 22180.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -55) * 1e9, 22282.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -50) * 1e9, 22555.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -45) * 1e9, 22932.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -40) * 1e9, 23362.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -35) * 1e9, 23816.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -30) * 1e9, 24288.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -25) * 1e9, 24779.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -20) * 1e9, 25281.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -15) * 1e9, 25768.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -10) * 1e9, 26201.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -5) * 1e9, 26540.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 0) * 1e9, 26767, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 5) * 1e9, 26896.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 10) * 1e9, 26983, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 15) * 1e9, 27114.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 20) * 1e9, 27399.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 25) * 1e9, 27945.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 30) * 1e9, 28847.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 35) * 1e9, 30158.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 40) * 1e9, 31881.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 45) * 1e9, 33963.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 50) * 1e9, 36306.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 55) * 1e9, 38788.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 60) * 1e9, 41288, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 65) * 1e9, 43705, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 70) * 1e9, 45965.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 75) * 1e9, 48019.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 80) * 1e9, 49829.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 85) * 1e9, 51363.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 90) * 1e9, 52594.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 95) * 1e9, 53511.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 100) * 1e9, 54126.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 105) * 1e9, 54485.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 110) * 1e9, 54648.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 115) * 1e9, 54677.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 120) * 1e9, 54613.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 125) * 1e9, 54468.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 130) * 1e9, 54232.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 135) * 1e9, 53889, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 140) * 1e9, 53423.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 145) * 1e9, 52833.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 150) * 1e9, 52124.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 155) * 1e9, 51306.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 160) * 1e9, 50387.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 165) * 1e9, 49379.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 170) * 1e9, 48301.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 175) * 1e9, 47176.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 180) * 1e9, 46029.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -180) * 1e9, 43214.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -175) * 1e9, 42147.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -170) * 1e9, 41091.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -165) * 1e9, 40047.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -160) * 1e9, 39010.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -155) * 1e9, 37981.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -150) * 1e9, 36965.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -145) * 1e9, 35970.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -140) * 1e9, 35004.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -135) * 1e9, 34073.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -130) * 1e9, 33179.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -125) * 1e9, 32322.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -120) * 1e9, 31495.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -115) * 1e9, 30683.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -110) * 1e9, 29861.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -105) * 1e9, 29003.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -100) * 1e9, 28089.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -95) * 1e9, 27117.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -90) * 1e9, 26110.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -85) * 1e9, 25117.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -80) * 1e9, 24201.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -75) * 1e9, 23429.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -70) * 1e9, 22859.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -65) * 1e9, 22527.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -60) * 1e9, 22438.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -55) * 1e9, 22565.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -50) * 1e9, 22860.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -45) * 1e9, 23270.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -40) * 1e9, 23751.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -35) * 1e9, 24281.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -30) * 1e9, 24858.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -25) * 1e9, 25483, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -20) * 1e9, 26144.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -15) * 1e9, 26809.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -10) * 1e9, 27427.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -5) * 1e9, 27945.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 0) * 1e9, 28324.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 5) * 1e9, 28561.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 10) * 1e9, 28690.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 15) * 1e9, 28783.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 20) * 1e9, 28938.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 25) * 1e9, 29267.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 30) * 1e9, 29882.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 35) * 1e9, 30867.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 40) * 1e9, 32258.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 45) * 1e9, 34025.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 50) * 1e9, 36082.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 55) * 1e9, 38308.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 60) * 1e9, 40578.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 65) * 1e9, 42784.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 70) * 1e9, 44849.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 75) * 1e9, 46716.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 80) * 1e9, 48342.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 85) * 1e9, 49682.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 90) * 1e9, 50703, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 95) * 1e9, 51388.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 100) * 1e9, 51762.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 105) * 1e9, 51885.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 110) * 1e9, 51842.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 115) * 1e9, 51711.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 120) * 1e9, 51539.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 125) * 1e9, 51333.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 130) * 1e9, 51068.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 135) * 1e9, 50713.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 140) * 1e9, 50246.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 145) * 1e9, 49663.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 150) * 1e9, 48972.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 155) * 1e9, 48184.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 160) * 1e9, 47309.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 165) * 1e9, 46356, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 170) * 1e9, 45340.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 175) * 1e9, 44285.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 180) * 1e9, 43214.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -180) * 1e9, 40454, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -175) * 1e9, 39500, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -170) * 1e9, 38563.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -165) * 1e9, 37642.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -160) * 1e9, 36732.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -155) * 1e9, 35832.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -150) * 1e9, 34947.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -145) * 1e9, 34085.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -140) * 1e9, 33253.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -135) * 1e9, 32460.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -130) * 1e9, 31708.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -125) * 1e9, 31000.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -120) * 1e9, 30332.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -115) * 1e9, 29691, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -110) * 1e9, 29054.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -105) * 1e9, 28393.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -100) * 1e9, 27688, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -95) * 1e9, 26929.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -90) * 1e9, 26134.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -85) * 1e9, 25336.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -80) * 1e9, 24587.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -75) * 1e9, 23941.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -70) * 1e9, 23449.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -65) * 1e9, 23147.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -60) * 1e9, 23051.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -55) * 1e9, 23153.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -50) * 1e9, 23427.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -45) * 1e9, 23834.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -40) * 1e9, 24341.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -35) * 1e9, 24926.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -30) * 1e9, 25581.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -25) * 1e9, 26299.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -20) * 1e9, 27065.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -15) * 1e9, 27845.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -10) * 1e9, 28584.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -5) * 1e9, 29225.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 0) * 1e9, 29721, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 5) * 1e9, 30053.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 10) * 1e9, 30239, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 15) * 1e9, 30326.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 20) * 1e9, 30398.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 25) * 1e9, 30559.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 30) * 1e9, 30928.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 35) * 1e9, 31609.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 40) * 1e9, 32665.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 45) * 1e9, 34091.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 50) * 1e9, 35817.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 55) * 1e9, 37732.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 60) * 1e9, 39715, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 65) * 1e9, 41659.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 70) * 1e9, 43488.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 75) * 1e9, 45144, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 80) * 1e9, 46574.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 85) * 1e9, 47726.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 90) * 1e9, 48556.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 95) * 1e9, 49043.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 100) * 1e9, 49216.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 105) * 1e9, 49147.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 110) * 1e9, 48938.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 115) * 1e9, 48679, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 120) * 1e9, 48420.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 125) * 1e9, 48162, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 130) * 1e9, 47869.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 135) * 1e9, 47500.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 140) * 1e9, 47027.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 145) * 1e9, 46447.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 150) * 1e9, 45772.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 155) * 1e9, 45018.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 160) * 1e9, 44194.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 165) * 1e9, 43310.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 170) * 1e9, 42378.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 175) * 1e9, 41419.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 180) * 1e9, 40454, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -180) * 1e9, 37902.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -175) * 1e9, 37089.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -170) * 1e9, 36300.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -165) * 1e9, 35530.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -160) * 1e9, 34774.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -155) * 1e9, 34033.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -150) * 1e9, 33312.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -145) * 1e9, 32618.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -140) * 1e9, 31957.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -135) * 1e9, 31336.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -130) * 1e9, 30756.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -125) * 1e9, 30220.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -120) * 1e9, 29725.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -115) * 1e9, 29261.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -110) * 1e9, 28808.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -105) * 1e9, 28343.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -100) * 1e9, 27841.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -95) * 1e9, 27292, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -90) * 1e9, 26699.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -85) * 1e9, 26084.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -80) * 1e9, 25481.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -75) * 1e9, 24933.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -70) * 1e9, 24483.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -65) * 1e9, 24168.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -60) * 1e9, 24017.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -55) * 1e9, 24044.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -50) * 1e9, 24246.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -45) * 1e9, 24606.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -40) * 1e9, 25100.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -35) * 1e9, 25700.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -30) * 1e9, 26387.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -25) * 1e9, 27142.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -20) * 1e9, 27944.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -15) * 1e9, 28758.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -10) * 1e9, 29536.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -5) * 1e9, 30226.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 0) * 1e9, 30782.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 5) * 1e9, 31179.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 10) * 1e9, 31417.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 15) * 1e9, 31525.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 20) * 1e9, 31563.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 25) * 1e9, 31624.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 30) * 1e9, 31822.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 35) * 1e9, 32269.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 40) * 1e9, 33040.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 45) * 1e9, 34149.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 50) * 1e9, 35545.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 55) * 1e9, 37130.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 60) * 1e9, 38796.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 65) * 1e9, 40448.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 70) * 1e9, 42015.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 75) * 1e9, 43440.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 80) * 1e9, 44668.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 85) * 1e9, 45641.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 90) * 1e9, 46306.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 95) * 1e9, 46639.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 100) * 1e9, 46667.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 105) * 1e9, 46468.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 110) * 1e9, 46147.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 115) * 1e9, 45797.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 120) * 1e9, 45470.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 125) * 1e9, 45161.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 130) * 1e9, 44832.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 135) * 1e9, 44436.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 140) * 1e9, 43946.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 145) * 1e9, 43361.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 150) * 1e9, 42698.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 155) * 1e9, 41977.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 160) * 1e9, 41210.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 165) * 1e9, 40406, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 170) * 1e9, 39575.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 175) * 1e9, 38735, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 180) * 1e9, 37902.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -180) * 1e9, 35738.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -175) * 1e9, 35089.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -170) * 1e9, 34466.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -165) * 1e9, 33865, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -160) * 1e9, 33281.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -155) * 1e9, 32717.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -150) * 1e9, 32180.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -145) * 1e9, 31678.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -140) * 1e9, 31216.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -135) * 1e9, 30793.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -130) * 1e9, 30410.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -125) * 1e9, 30065.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -120) * 1e9, 29755.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -115) * 1e9, 29473.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -110) * 1e9, 29204.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -105) * 1e9, 28926.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -100) * 1e9, 28617.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -95) * 1e9, 28257.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -90) * 1e9, 27841.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -85) * 1e9, 27376.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -80) * 1e9, 26884.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -75) * 1e9, 26396.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -70) * 1e9, 25949.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -65) * 1e9, 25584.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -60) * 1e9, 25337.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -55) * 1e9, 25243.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -50) * 1e9, 25323.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -45) * 1e9, 25582.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -40) * 1e9, 26005.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -35) * 1e9, 26563.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -30) * 1e9, 27223.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -25) * 1e9, 27952.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -20) * 1e9, 28721.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -15) * 1e9, 29497, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -10) * 1e9, 30241.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -5) * 1e9, 30914.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 0) * 1e9, 31478.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 5) * 1e9, 31905.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 10) * 1e9, 32187.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 15) * 1e9, 32334.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 20) * 1e9, 32389.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 25) * 1e9, 32426.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 30) * 1e9, 32546.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 35) * 1e9, 32854.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 40) * 1e9, 33426.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 45) * 1e9, 34282.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 50) * 1e9, 35386.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 55) * 1e9, 36660.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 60) * 1e9, 38014.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 65) * 1e9, 39370.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 70) * 1e9, 40668.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 75) * 1e9, 41857, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 80) * 1e9, 42883.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 85) * 1e9, 43687.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 90) * 1e9, 44215, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 95) * 1e9, 44439.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 100) * 1e9, 44384.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 105) * 1e9, 44118.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 110) * 1e9, 43740.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 115) * 1e9, 43336, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 120) * 1e9, 42950.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 125) * 1e9, 42582.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 130) * 1e9, 42195, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 135) * 1e9, 41748.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 140) * 1e9, 41222.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 145) * 1e9, 40619.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 150) * 1e9, 39960, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 155) * 1e9, 39267, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 160) * 1e9, 38556, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 165) * 1e9, 37837.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 170) * 1e9, 37120.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 175) * 1e9, 36417.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 180) * 1e9, 35738.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -180) * 1e9, 34121.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -175) * 1e9, 33644.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -170) * 1e9, 33196.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -165) * 1e9, 32768.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -160) * 1e9, 32360.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -155) * 1e9, 31978.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -150) * 1e9, 31633.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -145) * 1e9, 31333.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -140) * 1e9, 31081.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -135) * 1e9, 30873.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -130) * 1e9, 30701.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -125) * 1e9, 30560, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -120) * 1e9, 30444.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -115) * 1e9, 30348.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -110) * 1e9, 30260.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -105) * 1e9, 30161.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -100) * 1e9, 30024.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -95) * 1e9, 29825.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -90) * 1e9, 29547.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -85) * 1e9, 29188.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -80) * 1e9, 28761.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -75) * 1e9, 28291.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -70) * 1e9, 27814.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -65) * 1e9, 27369.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -60) * 1e9, 27001.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -55) * 1e9, 26756.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -50) * 1e9, 26677.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -45) * 1e9, 26786.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -40) * 1e9, 27081.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -35) * 1e9, 27533.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -30) * 1e9, 28102.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -25) * 1e9, 28745.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -20) * 1e9, 29427.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -15) * 1e9, 30116.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -10) * 1e9, 30783.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -5) * 1e9, 31401.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 0) * 1e9, 31941.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 5) * 1e9, 32378.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 10) * 1e9, 32697.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 15) * 1e9, 32900.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 20) * 1e9, 33013.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 25) * 1e9, 33095.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 30) * 1e9, 33228.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 35) * 1e9, 33498.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 40) * 1e9, 33967.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 45) * 1e9, 34653.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 50) * 1e9, 35528.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 55) * 1e9, 36536.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 60) * 1e9, 37612.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 65) * 1e9, 38697.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 70) * 1e9, 39744.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 75) * 1e9, 40710.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 80) * 1e9, 41546.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 85) * 1e9, 42197.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 90) * 1e9, 42613.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 95) * 1e9, 42769.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 100) * 1e9, 42680.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 105) * 1e9, 42401.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 110) * 1e9, 42009, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 115) * 1e9, 41572, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 120) * 1e9, 41128.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 125) * 1e9, 40679.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 130) * 1e9, 40203.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 135) * 1e9, 39675.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 140) * 1e9, 39085.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 145) * 1e9, 38442.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 150) * 1e9, 37771.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 155) * 1e9, 37094.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 160) * 1e9, 36432.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 165) * 1e9, 35795.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 170) * 1e9, 35194.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 175) * 1e9, 34636.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 180) * 1e9, 34121.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -180) * 1e9, 33145, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -175) * 1e9, 32833.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -170) * 1e9, 32552.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -165) * 1e9, 32291.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -160) * 1e9, 32051.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -155) * 1e9, 31844, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -150) * 1e9, 31684.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -145) * 1e9, 31584.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -140) * 1e9, 31542.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -135) * 1e9, 31551.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -130) * 1e9, 31595.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -125) * 1e9, 31664.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -120) * 1e9, 31748.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -115) * 1e9, 31841.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -110) * 1e9, 31930.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -105) * 1e9, 31996.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -100) * 1e9, 32009.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -95) * 1e9, 31936.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -90) * 1e9, 31755.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -85) * 1e9, 31456.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -80) * 1e9, 31051.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -75) * 1e9, 30563.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -70) * 1e9, 30028.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -65) * 1e9, 29486.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -60) * 1e9, 28987.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -55) * 1e9, 28585, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -50) * 1e9, 28332.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -45) * 1e9, 28267.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -40) * 1e9, 28395.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -35) * 1e9, 28694.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -30) * 1e9, 29123.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -25) * 1e9, 29638, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -20) * 1e9, 30200.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -15) * 1e9, 30783.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -10) * 1e9, 31363.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -5) * 1e9, 31919.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 0) * 1e9, 32429.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 5) * 1e9, 32871.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 10) * 1e9, 33228.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 15) * 1e9, 33498.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 20) * 1e9, 33699.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 25) * 1e9, 33876.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 30) * 1e9, 34090.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 35) * 1e9, 34402.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 40) * 1e9, 34851.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 45) * 1e9, 35444.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 50) * 1e9, 36160.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 55) * 1e9, 36963.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 60) * 1e9, 37813.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 65) * 1e9, 38674.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 70) * 1e9, 39512.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 75) * 1e9, 40289.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 80) * 1e9, 40963.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 85) * 1e9, 41486.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 90) * 1e9, 41817.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 95) * 1e9, 41934, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 100) * 1e9, 41844.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 105) * 1e9, 41582.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 110) * 1e9, 41197, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 115) * 1e9, 40733.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 120) * 1e9, 40220.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 125) * 1e9, 39666.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 130) * 1e9, 39067.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 135) * 1e9, 38421.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 140) * 1e9, 37733.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 145) * 1e9, 37022.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 150) * 1e9, 36313.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 155) * 1e9, 35632.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 160) * 1e9, 34998.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 165) * 1e9, 34428.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 170) * 1e9, 33930, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 175) * 1e9, 33504.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 180) * 1e9, 33145, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -180) * 1e9, 32827.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -175) * 1e9, 32655.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -170) * 1e9, 32520.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -165) * 1e9, 32407.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -160) * 1e9, 32319.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -155) * 1e9, 32272.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -150) * 1e9, 32286.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -145) * 1e9, 32373, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -140) * 1e9, 32532.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -135) * 1e9, 32750.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -130) * 1e9, 33007.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -125) * 1e9, 33284.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -120) * 1e9, 33568.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -115) * 1e9, 33847.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -110) * 1e9, 34108.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -105) * 1e9, 34325.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -100) * 1e9, 34465.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -95) * 1e9, 34490, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -90) * 1e9, 34371.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -85) * 1e9, 34099.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -80) * 1e9, 33683.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -75) * 1e9, 33150.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -70) * 1e9, 32537.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -65) * 1e9, 31891.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -60) * 1e9, 31264.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -55) * 1e9, 30716.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -50) * 1e9, 30305.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -45) * 1e9, 30071.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -40) * 1e9, 30028.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -35) * 1e9, 30160.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -30) * 1e9, 30430.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -25) * 1e9, 30799.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -20) * 1e9, 31235.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -15) * 1e9, 31715.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -10) * 1e9, 32219.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -5) * 1e9, 32729.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 0) * 1e9, 33223.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 5) * 1e9, 33678, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 10) * 1e9, 34076.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 15) * 1e9, 34416.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 20) * 1e9, 34715.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 25) * 1e9, 35007.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 30) * 1e9, 35335.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 35) * 1e9, 35731.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 40) * 1e9, 36211, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 45) * 1e9, 36768.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 50) * 1e9, 37386.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 55) * 1e9, 38047.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 60) * 1e9, 38734.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 65) * 1e9, 39431.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 70) * 1e9, 40114.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 75) * 1e9, 40753.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 80) * 1e9, 41309.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 85) * 1e9, 41741.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 90) * 1e9, 42017.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 95) * 1e9, 42119.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 100) * 1e9, 42045.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 105) * 1e9, 41809.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 110) * 1e9, 41432.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 115) * 1e9, 40936.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 120) * 1e9, 40339.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 125) * 1e9, 39657.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 130) * 1e9, 38907.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 135) * 1e9, 38110.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 140) * 1e9, 37291.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 145) * 1e9, 36477.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 150) * 1e9, 35699.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 155) * 1e9, 34981.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 160) * 1e9, 34346.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 165) * 1e9, 33811.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 170) * 1e9, 33384.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 175) * 1e9, 33061.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 180) * 1e9, 32827.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -180) * 1e9, 33130.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -175) * 1e9, 33057.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -170) * 1e9, 33035, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -165) * 1e9, 33045.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -160) * 1e9, 33091.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -155) * 1e9, 33189.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -150) * 1e9, 33360.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -145) * 1e9, 33619.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -140) * 1e9, 33963.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -135) * 1e9, 34376.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -130) * 1e9, 34831.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -125) * 1e9, 35305.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -120) * 1e9, 35779.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -115) * 1e9, 36237, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -110) * 1e9, 36657.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -105) * 1e9, 37012.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -100) * 1e9, 37260.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -95) * 1e9, 37362.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -90) * 1e9, 37286.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -85) * 1e9, 37021.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -80) * 1e9, 36578.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -75) * 1e9, 35987.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -70) * 1e9, 35291, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -65) * 1e9, 34542.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -60) * 1e9, 33801.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -55) * 1e9, 33130.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -50) * 1e9, 32589.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -45) * 1e9, 32217.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -40) * 1e9, 32029.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -35) * 1e9, 32011.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -30) * 1e9, 32133.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -25) * 1e9, 32367.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -20) * 1e9, 32688, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -15) * 1e9, 33079.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -10) * 1e9, 33527.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -5) * 1e9, 34010.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 0) * 1e9, 34503, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 5) * 1e9, 34978.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 10) * 1e9, 35418.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 15) * 1e9, 35823.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 20) * 1e9, 36210.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 25) * 1e9, 36608.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 30) * 1e9, 37042.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 35) * 1e9, 37525.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 40) * 1e9, 38051.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 45) * 1e9, 38605.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 50) * 1e9, 39172.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 55) * 1e9, 39748.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 60) * 1e9, 40334.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 65) * 1e9, 40929.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 70) * 1e9, 41519.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 75) * 1e9, 42079.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 80) * 1e9, 42570.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 85) * 1e9, 42959.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 90) * 1e9, 43215.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 95) * 1e9, 43323.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 100) * 1e9, 43272.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 105) * 1e9, 43059.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 110) * 1e9, 42682.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 115) * 1e9, 42143.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 120) * 1e9, 41453.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 125) * 1e9, 40634, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 130) * 1e9, 39720.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 135) * 1e9, 38754, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 140) * 1e9, 37778.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 145) * 1e9, 36833.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 150) * 1e9, 35952.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 155) * 1e9, 35164.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 160) * 1e9, 34491.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 165) * 1e9, 33950.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 170) * 1e9, 33550.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 175) * 1e9, 33283.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 180) * 1e9, 33130.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -180) * 1e9, 33995.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -175) * 1e9, 33975.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -170) * 1e9, 34028.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -165) * 1e9, 34135.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -160) * 1e9, 34295.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -155) * 1e9, 34523.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -150) * 1e9, 34838.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -145) * 1e9, 35252.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -140) * 1e9, 35761.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -135) * 1e9, 36345.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -130) * 1e9, 36975.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -125) * 1e9, 37624.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -120) * 1e9, 38267.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -115) * 1e9, 38883.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -110) * 1e9, 39445.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -105) * 1e9, 39919.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -100) * 1e9, 40260.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -95) * 1e9, 40427.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -90) * 1e9, 40385.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -85) * 1e9, 40124.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -80) * 1e9, 39654, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -75) * 1e9, 39007.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -70) * 1e9, 38234.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -65) * 1e9, 37395.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -60) * 1e9, 36559.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -55) * 1e9, 35792, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -50) * 1e9, 35153, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -45) * 1e9, 34679.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -40) * 1e9, 34380.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -35) * 1e9, 34245.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -30) * 1e9, 34249.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -25) * 1e9, 34370.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -20) * 1e9, 34594.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -15) * 1e9, 34913.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -10) * 1e9, 35316.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -5) * 1e9, 35782.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 0) * 1e9, 36278.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 5) * 1e9, 36774.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 10) * 1e9, 37249.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 15) * 1e9, 37704.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 20) * 1e9, 38155.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 25) * 1e9, 38626.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 30) * 1e9, 39135.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 35) * 1e9, 39679.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 40) * 1e9, 40243.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 45) * 1e9, 40805.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 50) * 1e9, 41355.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 55) * 1e9, 41895.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 60) * 1e9, 42438.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 65) * 1e9, 42992.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 70) * 1e9, 43550.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 75) * 1e9, 44086.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 80) * 1e9, 44567.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 85) * 1e9, 44958.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 90) * 1e9, 45230.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 95) * 1e9, 45364.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 100) * 1e9, 45342, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 105) * 1e9, 45146.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 110) * 1e9, 44761, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 115) * 1e9, 44175.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 120) * 1e9, 43394.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 125) * 1e9, 42446.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 130) * 1e9, 41377.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 135) * 1e9, 40244.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 140) * 1e9, 39107.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 145) * 1e9, 38017.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 150) * 1e9, 37014.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 155) * 1e9, 36129.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 160) * 1e9, 35386.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 165) * 1e9, 34800.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 170) * 1e9, 34380.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 175) * 1e9, 34119.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 180) * 1e9, 33995.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -180) * 1e9, 35373.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -175) * 1e9, 35363.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -170) * 1e9, 35455.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -165) * 1e9, 35631.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -160) * 1e9, 35886.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -155) * 1e9, 36230.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -150) * 1e9, 36676.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -145) * 1e9, 37228.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -140) * 1e9, 37878.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -135) * 1e9, 38605.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -130) * 1e9, 39379.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -125) * 1e9, 40169.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -120) * 1e9, 40948.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -115) * 1e9, 41690.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -110) * 1e9, 42363.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -105) * 1e9, 42930.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -100) * 1e9, 43345.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -95) * 1e9, 43565, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -90) * 1e9, 43554.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -85) * 1e9, 43301.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -80) * 1e9, 42814.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -75) * 1e9, 42130.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -70) * 1e9, 41300.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -65) * 1e9, 40394.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -60) * 1e9, 39486.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -55) * 1e9, 38647.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -50) * 1e9, 37935.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -45) * 1e9, 37385.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -40) * 1e9, 37004.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -35) * 1e9, 36779.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -30) * 1e9, 36690.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -25) * 1e9, 36721.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -20) * 1e9, 36866, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -15) * 1e9, 37122.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -10) * 1e9, 37482.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -5) * 1e9, 37923.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 0) * 1e9, 38413.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 5) * 1e9, 38917, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 10) * 1e9, 39411, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 15) * 1e9, 39892.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 20) * 1e9, 40377.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 25) * 1e9, 40884.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 30) * 1e9, 41426.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 35) * 1e9, 41998.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 40) * 1e9, 42582.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 45) * 1e9, 43157, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 50) * 1e9, 43714.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 55) * 1e9, 44262.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 60) * 1e9, 44814.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 65) * 1e9, 45382, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 70) * 1e9, 45958.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 75) * 1e9, 46521.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 80) * 1e9, 47035.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 85) * 1e9, 47465.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 90) * 1e9, 47781, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 95) * 1e9, 47956.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 100) * 1e9, 47966.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 105) * 1e9, 47786.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 110) * 1e9, 47390.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 115) * 1e9, 46763.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 120) * 1e9, 45909, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 125) * 1e9, 44857.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 130) * 1e9, 43661.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 135) * 1e9, 42390.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 140) * 1e9, 41111.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 145) * 1e9, 39887.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 150) * 1e9, 38763.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 155) * 1e9, 37773.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 160) * 1e9, 36942.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 165) * 1e9, 36285.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 170) * 1e9, 35811, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 175) * 1e9, 35512.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 180) * 1e9, 35373.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -180) * 1e9, 37227.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -175) * 1e9, 37198, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -170) * 1e9, 37301.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -165) * 1e9, 37521.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -160) * 1e9, 37852.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -155) * 1e9, 38295.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -150) * 1e9, 38852.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -145) * 1e9, 39521.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -140) * 1e9, 40287, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -135) * 1e9, 41124.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -130) * 1e9, 42003.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -125) * 1e9, 42892.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -120) * 1e9, 43762.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -115) * 1e9, 44585.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -110) * 1e9, 45328.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -105) * 1e9, 45953.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -100) * 1e9, 46414.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -95) * 1e9, 46668.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -90) * 1e9, 46682.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -85) * 1e9, 46441.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -80) * 1e9, 45954.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -75) * 1e9, 45254.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -70) * 1e9, 44397.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -65) * 1e9, 43454.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -60) * 1e9, 42501.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -55) * 1e9, 41613.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -50) * 1e9, 40846.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -45) * 1e9, 40233.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -40) * 1e9, 39782.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -35) * 1e9, 39480.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -30) * 1e9, 39312.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -25) * 1e9, 39267, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -20) * 1e9, 39340.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -15) * 1e9, 39534.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -10) * 1e9, 39843, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -5) * 1e9, 40244.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 0) * 1e9, 40707.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 5) * 1e9, 41195.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 10) * 1e9, 41684.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 15) * 1e9, 42168.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 20) * 1e9, 42656.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 25) * 1e9, 43167.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 30) * 1e9, 43710.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 35) * 1e9, 44282.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 40) * 1e9, 44871.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 45) * 1e9, 45462, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 50) * 1e9, 46049.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 55) * 1e9, 46639.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 60) * 1e9, 47243.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 65) * 1e9, 47868.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 70) * 1e9, 48504.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 75) * 1e9, 49129.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 80) * 1e9, 49706.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 85) * 1e9, 50199.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 90) * 1e9, 50572.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 95) * 1e9, 50795.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 100) * 1e9, 50839.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 105) * 1e9, 50673, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 110) * 1e9, 50270.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 115) * 1e9, 49615.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 120) * 1e9, 48713.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 125) * 1e9, 47596.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 130) * 1e9, 46320.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 135) * 1e9, 44957.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 140) * 1e9, 43582.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 145) * 1e9, 42259.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 150) * 1e9, 41041.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 155) * 1e9, 39962.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 160) * 1e9, 39049, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 165) * 1e9, 38315.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 170) * 1e9, 37770.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 175) * 1e9, 37412.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 180) * 1e9, 37227.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -180) * 1e9, 39528.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -175) * 1e9, 39465, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -170) * 1e9, 39561.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -165) * 1e9, 39805.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -160) * 1e9, 40189.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -155) * 1e9, 40706.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -150) * 1e9, 41348.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -145) * 1e9, 42103.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -140) * 1e9, 42948.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -135) * 1e9, 43856.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -130) * 1e9, 44796, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -125) * 1e9, 45735.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -120) * 1e9, 46646.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -115) * 1e9, 47500.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -110) * 1e9, 48264.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -105) * 1e9, 48902.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -100) * 1e9, 49373.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -95) * 1e9, 49636.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -90) * 1e9, 49660.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -85) * 1e9, 49430.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -80) * 1e9, 48955, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -75) * 1e9, 48263.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -70) * 1e9, 47409.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -65) * 1e9, 46460.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -60) * 1e9, 45493.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -55) * 1e9, 44577.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -50) * 1e9, 43770, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -45) * 1e9, 43102.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -40) * 1e9, 42584.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -35) * 1e9, 42210, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -30) * 1e9, 41966.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -25) * 1e9, 41847.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -20) * 1e9, 41850.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -15) * 1e9, 41976.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -10) * 1e9, 42219.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -5) * 1e9, 42560.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 0) * 1e9, 42971.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 5) * 1e9, 43417.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 10) * 1e9, 43876.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 15) * 1e9, 44337.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 20) * 1e9, 44808.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 25) * 1e9, 45300.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 30) * 1e9, 45825.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 35) * 1e9, 46385.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 40) * 1e9, 46976, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 45) * 1e9, 47589.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 50) * 1e9, 48222.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 55) * 1e9, 48879.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 60) * 1e9, 49563.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 65) * 1e9, 50274.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 70) * 1e9, 50996.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 75) * 1e9, 51701.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 80) * 1e9, 52355, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 85) * 1e9, 52916.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 90) * 1e9, 53348.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 95) * 1e9, 53616.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 100) * 1e9, 53689.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 105) * 1e9, 53536.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 110) * 1e9, 53133.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 115) * 1e9, 52468.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 120) * 1e9, 51551, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 125) * 1e9, 50414.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 130) * 1e9, 49114, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 135) * 1e9, 47721.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 140) * 1e9, 46309.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 145) * 1e9, 44944.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 150) * 1e9, 43678.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 155) * 1e9, 42549.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 160) * 1e9, 41581.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 165) * 1e9, 40789.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 170) * 1e9, 40183.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 175) * 1e9, 39764.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 180) * 1e9, 39528.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -180) * 1e9, 42223.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -175) * 1e9, 42129.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -170) * 1e9, 42211.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -165) * 1e9, 42461.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -160) * 1e9, 42870.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -155) * 1e9, 43426.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -150) * 1e9, 44113.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -145) * 1e9, 44909.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -140) * 1e9, 45787.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -135) * 1e9, 46716.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -130) * 1e9, 47665.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -125) * 1e9, 48603, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -120) * 1e9, 49501.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -115) * 1e9, 50333.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -110) * 1e9, 51069.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -105) * 1e9, 51675.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -100) * 1e9, 52117.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -95) * 1e9, 52359.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -90) * 1e9, 52375.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -85) * 1e9, 52151.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -80) * 1e9, 51693.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -75) * 1e9, 51028.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -70) * 1e9, 50203.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -65) * 1e9, 49280.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -60) * 1e9, 48327.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -55) * 1e9, 47409.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -50) * 1e9, 46578.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -45) * 1e9, 45865.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -40) * 1e9, 45287, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -35) * 1e9, 44841.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -30) * 1e9, 44523.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -25) * 1e9, 44329.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -20) * 1e9, 44257.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -15) * 1e9, 44307.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -10) * 1e9, 44471.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -5) * 1e9, 44734.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 0) * 1e9, 45070.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 5) * 1e9, 45452.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 10) * 1e9, 45859.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 15) * 1e9, 46280.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 20) * 1e9, 46718.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 25) * 1e9, 47184.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 30) * 1e9, 47688, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 35) * 1e9, 48237.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 40) * 1e9, 48835.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 45) * 1e9, 49479.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 50) * 1e9, 50169, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 55) * 1e9, 50903.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 60) * 1e9, 51677.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 65) * 1e9, 52481.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 70) * 1e9, 53292.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 75) * 1e9, 54079.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 80) * 1e9, 54803.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 85) * 1e9, 55425.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 90) * 1e9, 55905.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 95) * 1e9, 56208.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 100) * 1e9, 56302.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 105) * 1e9, 56161.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 110) * 1e9, 55767.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 115) * 1e9, 55114.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 120) * 1e9, 54216.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 125) * 1e9, 53107.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 130) * 1e9, 51841.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 135) * 1e9, 50483.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 140) * 1e9, 49102.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 145) * 1e9, 47761.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 150) * 1e9, 46509.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 155) * 1e9, 45381.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 160) * 1e9, 44404.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 165) * 1e9, 43591.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 170) * 1e9, 42953.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 175) * 1e9, 42497.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 180) * 1e9, 42223.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -180) * 1e9, 45210.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -175) * 1e9, 45100.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -170) * 1e9, 45166.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -165) * 1e9, 45404.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -160) * 1e9, 45805.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -155) * 1e9, 46355.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -150) * 1e9, 47033.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -145) * 1e9, 47813.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -140) * 1e9, 48666.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -135) * 1e9, 49559.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -130) * 1e9, 50461.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -125) * 1e9, 51343, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -120) * 1e9, 52177.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -115) * 1e9, 52939.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -110) * 1e9, 53603.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -105) * 1e9, 54139.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -100) * 1e9, 54519.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -95) * 1e9, 54715.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -90) * 1e9, 54705.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -85) * 1e9, 54480.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -80) * 1e9, 54044.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -75) * 1e9, 53420.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -70) * 1e9, 52647.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -65) * 1e9, 51777.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -60) * 1e9, 50867.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -55) * 1e9, 49973.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -50) * 1e9, 49141, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -45) * 1e9, 48403.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -40) * 1e9, 47777.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -35) * 1e9, 47271.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -30) * 1e9, 46885.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -25) * 1e9, 46617.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -20) * 1e9, 46469.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -15) * 1e9, 46436.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -10) * 1e9, 46513.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -5) * 1e9, 46685.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 0) * 1e9, 46934.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 5) * 1e9, 47237.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 10) * 1e9, 47579.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 15) * 1e9, 47950.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 20) * 1e9, 48352.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 25) * 1e9, 48792.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 30) * 1e9, 49282.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 35) * 1e9, 49830.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 40) * 1e9, 50443.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 45) * 1e9, 51124, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 50) * 1e9, 51869.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 55) * 1e9, 52674.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 60) * 1e9, 53528.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 65) * 1e9, 54410, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 70) * 1e9, 55292.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 75) * 1e9, 56141.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 80) * 1e9, 56915.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 85) * 1e9, 57576.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 90) * 1e9, 58085.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 95) * 1e9, 58408.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 100) * 1e9, 58517.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 105) * 1e9, 58391.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 110) * 1e9, 58019.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 115) * 1e9, 57403.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 120) * 1e9, 56560.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 125) * 1e9, 55525.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 130) * 1e9, 54348.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 135) * 1e9, 53086.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 140) * 1e9, 51801.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 145) * 1e9, 50548.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 150) * 1e9, 49371.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 155) * 1e9, 48303.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 160) * 1e9, 47369.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 165) * 1e9, 46583.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 170) * 1e9, 45956.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 175) * 1e9, 45496.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 180) * 1e9, 45210.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -180) * 1e9, 48316.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -175) * 1e9, 48203.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -170) * 1e9, 48252.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -165) * 1e9, 48460.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -160) * 1e9, 48819.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -155) * 1e9, 49315.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -150) * 1e9, 49927.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -145) * 1e9, 50630.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -140) * 1e9, 51395.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -135) * 1e9, 52192, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -130) * 1e9, 52991.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -125) * 1e9, 53765.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -120) * 1e9, 54491.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -115) * 1e9, 55143.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -110) * 1e9, 55700.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -105) * 1e9, 56139.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -100) * 1e9, 56436, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -95) * 1e9, 56570.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -90) * 1e9, 56526.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -85) * 1e9, 56298.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -80) * 1e9, 55889.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -75) * 1e9, 55318.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -70) * 1e9, 54616.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -65) * 1e9, 53823.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -60) * 1e9, 52983.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -55) * 1e9, 52143.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -50) * 1e9, 51340.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -45) * 1e9, 50606.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -40) * 1e9, 49960.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -35) * 1e9, 49415.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -30) * 1e9, 48976.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -25) * 1e9, 48646.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -20) * 1e9, 48426.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -15) * 1e9, 48313.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -10) * 1e9, 48303.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -5) * 1e9, 48384.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 0) * 1e9, 48543.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 5) * 1e9, 48766.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 10) * 1e9, 49041.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 15) * 1e9, 49362.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 20) * 1e9, 49731, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 25) * 1e9, 50152.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 30) * 1e9, 50636.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 35) * 1e9, 51191.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 40) * 1e9, 51824.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 45) * 1e9, 52536, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 50) * 1e9, 53323.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 55) * 1e9, 54175.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 60) * 1e9, 55076.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 65) * 1e9, 56001, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 70) * 1e9, 56918.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 75) * 1e9, 57791.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 80) * 1e9, 58582, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 85) * 1e9, 59251.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 90) * 1e9, 59765.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 95) * 1e9, 60094.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 100) * 1e9, 60213.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 105) * 1e9, 60110.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 110) * 1e9, 59778.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 115) * 1e9, 59226.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 120) * 1e9, 58475, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 125) * 1e9, 57556.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 130) * 1e9, 56516.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 135) * 1e9, 55402.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 140) * 1e9, 54267.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 145) * 1e9, 53156.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 150) * 1e9, 52107.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 155) * 1e9, 51151.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 160) * 1e9, 50308.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 165) * 1e9, 49593.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 170) * 1e9, 49017.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 175) * 1e9, 48589.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 180) * 1e9, 48316.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -180) * 1e9, 51305.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -175) * 1e9, 51195.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -170) * 1e9, 51221.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -165) * 1e9, 51381.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -160) * 1e9, 51667.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -155) * 1e9, 52068.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -150) * 1e9, 52566.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -145) * 1e9, 53139.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -140) * 1e9, 53763.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -135) * 1e9, 54412.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -130) * 1e9, 55062.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -125) * 1e9, 55688.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -120) * 1e9, 56268.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -115) * 1e9, 56783.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -110) * 1e9, 57213.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -105) * 1e9, 57540.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -100) * 1e9, 57745.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -95) * 1e9, 57815.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -90) * 1e9, 57738.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -85) * 1e9, 57511.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -80) * 1e9, 57138.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -75) * 1e9, 56633.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -70) * 1e9, 56018.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -65) * 1e9, 55321.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -60) * 1e9, 54578.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -55) * 1e9, 53821.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -50) * 1e9, 53082.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -45) * 1e9, 52388, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -40) * 1e9, 51757.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -35) * 1e9, 51206.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -30) * 1e9, 50742.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -25) * 1e9, 50373, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -20) * 1e9, 50099.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -15) * 1e9, 49922.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -10) * 1e9, 49838.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -5) * 1e9, 49840.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 0) * 1e9, 49922.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 5) * 1e9, 50074.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 10) * 1e9, 50291.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 15) * 1e9, 50569.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 20) * 1e9, 50909.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 25) * 1e9, 51317.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 30) * 1e9, 51798.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 35) * 1e9, 52359, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 40) * 1e9, 53001.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 45) * 1e9, 53725.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 50) * 1e9, 54524.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 55) * 1e9, 55384.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 60) * 1e9, 56286.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 65) * 1e9, 57203.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 70) * 1e9, 58104.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 75) * 1e9, 58955.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 80) * 1e9, 59720.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 85) * 1e9, 60365.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 90) * 1e9, 60861.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 95) * 1e9, 61182.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 100) * 1e9, 61312.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 105) * 1e9, 61241.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 110) * 1e9, 60971.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 115) * 1e9, 60511.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 120) * 1e9, 59883.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 125) * 1e9, 59117.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 130) * 1e9, 58250.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 135) * 1e9, 57322.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 140) * 1e9, 56374.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 145) * 1e9, 55443.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 150) * 1e9, 54561.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 155) * 1e9, 53752.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 160) * 1e9, 53034.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 165) * 1e9, 52421.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 170) * 1e9, 51924.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 175) * 1e9, 51550.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 180) * 1e9, 51305.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -180) * 1e9, 53920.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -175) * 1e9, 53811, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -170) * 1e9, 53805.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -165) * 1e9, 53902.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -160) * 1e9, 54095.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -155) * 1e9, 54376.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -150) * 1e9, 54730.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -145) * 1e9, 55142.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -140) * 1e9, 55593.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -135) * 1e9, 56064.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -130) * 1e9, 56536.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -125) * 1e9, 56989.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -120) * 1e9, 57405.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -115) * 1e9, 57769.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -110) * 1e9, 58064.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -105) * 1e9, 58277, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -100) * 1e9, 58393.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -95) * 1e9, 58404.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -90) * 1e9, 58302.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -85) * 1e9, 58086.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -80) * 1e9, 57758.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -75) * 1e9, 57328.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -70) * 1e9, 56812.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -65) * 1e9, 56229.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -60) * 1e9, 55602.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -55) * 1e9, 54956.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -50) * 1e9, 54314.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -45) * 1e9, 53697.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -40) * 1e9, 53122.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -35) * 1e9, 52605.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -30) * 1e9, 52155.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -25) * 1e9, 51780.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -20) * 1e9, 51485.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -15) * 1e9, 51273, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -10) * 1e9, 51142.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -5) * 1e9, 51092.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 0) * 1e9, 51119.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 5) * 1e9, 51220.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 10) * 1e9, 51393.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 15) * 1e9, 51638.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 20) * 1e9, 51954.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 25) * 1e9, 52346.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 30) * 1e9, 52816, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 35) * 1e9, 53365, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 40) * 1e9, 53992.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 45) * 1e9, 54694.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 50) * 1e9, 55461.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 55) * 1e9, 56279.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 60) * 1e9, 57126.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 65) * 1e9, 57979.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 70) * 1e9, 58810.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 75) * 1e9, 59589.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 80) * 1e9, 60287.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 85) * 1e9, 60876.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 90) * 1e9, 61332, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 95) * 1e9, 61636.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 100) * 1e9, 61777.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 105) * 1e9, 61750.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 110) * 1e9, 61558.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 115) * 1e9, 61213.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 120) * 1e9, 60733.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 125) * 1e9, 60143.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 130) * 1e9, 59471.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 135) * 1e9, 58749.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 140) * 1e9, 58008.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 145) * 1e9, 57275.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 150) * 1e9, 56576.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 155) * 1e9, 55930.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 160) * 1e9, 55352.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 165) * 1e9, 54855.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 170) * 1e9, 54446.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 175) * 1e9, 54133.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 180) * 1e9, 53920.5, 145 + 500);
}
